'Split' is found in the 'Common' category of workflow nodes.
The split node is used to split a job into one or more child jobs. These then run in parallel as independent sub workflows.
An example of when to use the Split step would be when a workflow ingests a video file for transcoding. The video file parent job would be split into several transcode paths that all run in parallel. When the transcoding of the video has completed on all the separate paths then the split step merges them back into the parent job which continues on to the next step.
Detailed notes on the configuration editor can be found here
When the Split node is dragged onto the workflow canvas, two nodes are created: split and merge.
Up to 12 child workflows can be defined in the Split step, each of which is assigned a unique colour. The colour can be seen on the in and out ports of the split and merge steps. A coloured dashed border will surround any states that are added to the child workflows. It is important that each child workflow should be linked from the starting split port colour and terminated at the same coloured port on the merge node.
When a parent job enters the split state, a child job will be created in each child workflow. The parent job will then move into the merge step where it will remain until all the child jobs have been completed in the sub workflows.
Each child workflow has three hidden states - complete, exception, and archive. Although hidden in the split step they can be displayed in a workflow board. For a job to be considered as completed, it must have reached either the complete or exception state.
The complete state is inserted after the last node in any child workflow. For a child job to reach this state it must exit the last state in the child workflow. Each child workflows also has a default exception step which will contain any jobs that have thrown an unhandled exception in their progress through the Split node.
Once all the child jobs have reached the completed or exception state, then they will be moved into the Archive state. It is at this point that the parent job will continue on to the next step. If none of the children have thrown exceptions then the parent job will continue out of the grey success port on the merge step. However, if one or more of the children have thrown exceptions then the parent job will be moved into the default exception state for the parent workflow.
Exceptions from each of the children are combined and logged in the state history info block of the parent job. These are displayed in the State History of the parent job in the workflow board.
NOTE: There is a dedicated Busby State Store to mange split and merge operaions. The Split and Merge Service must be running when using the split workflow node.
Content >>>
Previous: Service poller || Next: Tally step
Index of: Workflow Nodes
Back to: Configuration Editor