zingzeu / CrowdSource

Crowdsourcing coordination and state management tool
http://cs.mindong.asia
MIT License
2 stars 0 forks source link

Built-in step types (Operators) #11

Open ztl8702 opened 6 years ago

ztl8702 commented 6 years ago

Operator (or step types)

Operators are predefined, composable step logic modules that can be used as building blocks for the pipeline.

Operator Description WhenReady WhenStarting Started(Working) When Completes When Notes
Sequence Completes a series of steps in sequence Marks first child ready Starts the first child step When first child is started After the last step is completed
ParallelAnd Run steps parallelly Marks all children ready Starts all children steps Any of the children started After all children are completed supports dynamically adding/removing children tasks
ParellelReplica Similar to Parallel, but all children tasks are the same configuration
Xor Exclusive Or (Multiform) Moves all children to Ready state N/A Any one child starts After any child step completes When one of the children is Working, request other children to pause; unpause if no one completes; Does not start proactively, requires children to be proactive
Interactive Human input Publishes to queue N/A (cannot force start) When assignment is accepted When assignment submission is accepted
If Performs a step only if a certain criterion is met Checks the condition; if met, completes itself, otherwise make child Ready N/A Child is started Condition is met or child completes
While
DoWhile

Step states

ztl8702 commented 5 years ago

Implementation: