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
Uninitialized: Initial state
Initialized: Initialized. But is not yet allowed to start (e.g. previous step have not complete).
Ready: Allowed to start working. Inputs are ready. Steps that require human input (Interactive) may move to Working state proactively; passive steps will wait for parent step to trigger.
Working: Actively doing work
Pausing: Has been requested to pause, but not paused yet.
Paused: Work is paused. For Interactive steps, assignments are aborted.
Stopped: Step has stopped (either completed or failed). An ExecutionResult should be available.
Operator (or step types)
Operators are predefined, composable step logic modules that can be used as building blocks for the pipeline.
Ready
stateWorking
, request other children to pause; unpause if no one completes; Does not start proactively, requires children to be proactiveReady
Step states
ExecutionResult
should be available.