Assume you want to create a job chain but some parts of the chain should run in parallel. You want to define all nodes in one chain.
- Please define some nodes at the beginning of the chain
- When you want to parallize the execution add a node with the splitter job
- Define the next node for the splitter. This could be the sync node or any other node in the chain.
- Define the number of orders that should run in parallel. Also define the node where these order should start. Use a list like 100;200;300. That means that you will get 3 additional orders all running in paralell.
- Define the sync node with the JITL sync job. Alle orders must reach this node. When all orders are in this node, the execution proceeds with the original order. The new orders will end in the sync.
- please note that every parallel processing needs an own unique sync job.
You can download an example from here.Splitter.zip
*****under construction*****
Best Practices for job chains with parallel processing
Example: Multiple parallel processing in one job chain
Display detail from JOE Steps/Nodes
- Use an unique sync job for each parallel processing within one JobScheduler. One sync job evaluates the information from all splitter jobs where this sync job is used.
- to identify the sync jobs in JOE job list and to make sure to use a unique sync job name we strongly recommend to combine the synchronization job name with the name of the job chain using the sync job.
- we recommend to combine the parameter state_names in the splitter job as node name of splitter:jobname
Display detail from JOE showing the parameters for the first splitter job split
Display detail from JOE showing the parameters for the second splitter job split_4_test
we also recommend to use the startjob /sos/jitl/JobChainStart and the endjob /sos/jitl/JobChainEnd in {}every{*} job chain.