graph { graph [engine:dot rankdir:TB applyCss:dark clusterize:false intention:full grayscale:false desaturate:true] mq -> mq__queue_ [reverse: false] mq -> mq__pattern_ [reverse: false] mq__pattern_ -> mq__pattern____mq__pattern__serial_queue [reverse: false] mq__pattern_ -> mq__pattern____mq__pattern__exclusive_run [reverse: false] mq__pattern_ -> mq__pattern____mq__pattern__contra_stack [reverse: false] mq__pattern_ -> mq__pattern____mq__pattern__bag_of_tasks [reverse: false] mq__pattern_ -> mq__pattern____mq__pattern__orchestrator [reverse: false] mq *= mq__case_ [reverse: false] mq__case_ *= mq__case____mq__case__paper_edit [reverse: false] mq__case_ *= mq__case____mq__case__paper_blame [reverse: false] mq__case_ *= mq__case____mq__case__paper_actualize [reverse: false] mq__case_ *= mq__case____mq__case__ast_lake [reverse: false] mq__case_ *= mq__case____mq__case__tile_actualize [reverse: false] mq__case_ *= mq__case____mq__case__voting [reverse: false] mq__case____mq__case__voting *= mq__case____mq__case__voting___mq__case____mq__case__completize_ballot [reverse: false] mq *= mq__actor_ [reverse: false] mq__actor_ *= mq__actor____mq__actor__tile_actualize [reverse: false] mq__actor_ *= mq__actor____mq__actor__paper_blame [reverse: false] mq__actor_ *= mq__actor____mq__actor__paper_actualize [reverse: false] mq__actor_ *= mq__actor____mq__actor__paper_run [reverse: false] mq [z: 9.5 @html: "
mq
" nomen: "mq"] mq__queue_ [z: 4.75 @html: "
queue:
• tasks_queue
• paper_queue
• tiles_queue
" nomen: "queue:"] mq__pattern_ [z: 4.75 @html: "
pattern:
• one queue per person?
" nomen: "pattern:"] mq__pattern____mq__pattern__serial_queue [z: 2.375 @html: "
pattern: serial queue
• singleton consumer
• must have exactly one consumer
• on nack will stay stale
" nomen: "pattern: serial queue"] mq__pattern____mq__pattern__exclusive_run [z: 2.375 @html: "
pattern: exclusive run
• mutex lock with redis
• per message
• per part
• topic=the message
• to teraz mame v s4-watch
" nomen: "pattern: exclusive run"] mq__pattern____mq__pattern__contra_stack [z: 2.375 @html: "
pattern: contra-stack
• buffered contra stack
• limited by size. but also could be by
windowMs
• can implement lifo
" nomen: "pattern: contra-stack"] mq__pattern____mq__pattern__bag_of_tasks [z: 2.375 @html: "
pattern: bag of tasks
• message pool exists based on bagId
• a redis list of tasks per bag exists
• each acked task marks itself done
• if all are done => bag is completed
" nomen: "pattern: bag of tasks"] mq__pattern____mq__pattern__orchestrator [z: 2.375 @html: "
pattern: orchestrator
• uses >1 queues
• holds program state in namespaced redis
keys: flat json
• structure: serial, exclusive, serial
• example:
•  【 serial tasks 】 
•  【 bag of tasks 】 
•  【 untiloop 】 
• see more in 【paper:actualize】
• could also support eval code ?
" nomen: "pattern: orchestrator"] mq__case_ [z: 4.75 @html: "
case:
" nomen: "case:"] mq__case____mq__case__paper_edit [z: 2.375 @html: "
case: paper:edit
• browser side
• Mutext for editing files exclusivelly
• zatial je to vlastne webhook:
paper-write
" nomen: "case: paper:edit"] mq__case____mq__case__paper_blame [z: 2.375 @html: "
case: paper-blame
• pattern: serial
" nomen: "case: paper-blame"] mq__case____mq__case__paper_actualize [z: 2.375 @html: "
case: paper-actualize
• later can evolve towards TOT
• actor-paper-actualize, actor-paper-run
• repo:sync
• repo:ast-lake
• mdd => graph
• graph => map-show
• repo:reindex
" nomen: "case: paper-actualize"] mq__case____mq__case__ast_lake [z: 2.375 @html: "
case: ast-lake
• its included already in other program
" nomen: "case: ast-lake"] mq__case____mq__case__tile_actualize [z: 2.375 @html: "
case: tile-actualize
• re emit?
" nomen: "case: tile-actualize"] mq__case____mq__case__voting [z: 2.375 @html: "
case: voting
• complex problem
" nomen: "case: voting"] mq__case____mq__case__voting___mq__case____mq__case__completize_ballot [z: 1.1875 @html: "
case: completize ballot
• ask the user to finish ballot
• ask?
• ....
" nomen: "case: completize ballot"] mq__actor_ [z: 4.75 @html: "
actor:
• mq-declaraticve-consumer
" nomen: "actor:"] mq__actor____mq__actor__tile_actualize [z: 2.375 @html: "
actor: tile-actualize
• queue=tiles_queue
" nomen: "actor: tile-actualize"] mq__actor____mq__actor__paper_blame [z: 2.375 @html: "
actor: paper-blame
• queue=paper_queue
" nomen: "actor: paper-blame"] mq__actor____mq__actor__paper_actualize [z: 2.375 @html: "
actor: paper-actualize
• ? TODO
• queue=?
• inspect repo and emit program
" nomen: "actor: paper-actualize"] mq__actor____mq__actor__paper_run [z: 2.375 @html: "
actor: paper-run
• ? TODO
• queue=tasks_queue
" nomen: "actor: paper-run"] #```subgraphs # 'mq.pattern:*|': '.' # 'case:*|': '.' # 'webhook:*|': '.' # 'actor:*|': '.' # 'queue:*|': '.' #``` ```ranks - [ 'queue*' ] - [ 'actor__*' ] - [ 'pattern__*' ] - [ 'webhook__*', 'case__*' ] ``` }