You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

Purpose

  • Instructions to fork and to join orders enable parallel processing in a workflow.
  • The Fork Instruction allows to create a number of parallel branches that process any further instructions and jobs.
    • The max. number of parallel branches is limited to 15.
    • Branches can include any number of instructions and jobs.
  • When an order enters a Fork Instruction then for each branch a child order is created. Each child order will pass the nodes in the respective branch independently from parallel child orders.
  • While child orders are running the parent order waits for its child orders to be completed, i.e. to arrive with the Join Instruction. The parent order therefore is assigned the WAITING state, see JS7 - Order State Transitions.
    • If a job in a child order's branch fails then the child order will be assigned a FAILED state. Such child orders require user intervention to resume, to suspend or to cancel child orders.

Workflow Instruction: Fork/Join

Simple Fork/Join

Download Workflow Example: pdwFork.json



Explanations:

  • The Fork Instruction is used for two parallel branches, the names of the branches can be specified.
  • After child orders for both branches are arriving with the Join Instruction then the parent order will continue with the next job.

Nested Fork/Join

Download Workflow Example: pwdForkNested.json



The Workflows view for the above workflow will display parallel child orders like this:



Explanations:

  • The Workflows view shows three levels of orders: the parent order sitting with the initial Fork Instruction and two levels of child orders passing their respective branches.
  • As soon as the inner child orders are completed then the outer level of parent orders continues and completes respectively.


  • No labels