Scenario
- A job chain contains 4 jobs, i.e. Job01, Job02, Job03 and Job04.
- Job04 should only be started when Job01, Job02, Job03 have completed.
- An order will start with the Split node as a first node of the job chain. The Split node uses the JobScheduler JITL job JobChainSplitter.
- The Split job starts all the jobs configured as next node for the Split node, i.e. Job01, Job02 and Job03 will be started in parallel.
- The Split node notifies the Sync node about the jobs it should wait for before proceeding in the job chain.
- Once all the three jobs have completed then the Sync job will continue its processing and Job04 will be started.
Job Chain Diagram
Job Chain Configuration
<?xml version="1.0" encoding="ISO-8859-1"?> <job_chain title="JobChainA_P"> <job_chain_node state="Start" job="/sos/jitl/JobChainStart" next_state="Split" error_state="Error"/> <job_chain_node state="Split" job="/sos/jitl/JobChainSplitter" next_state="Sync" error_state="Error"/> <job_chain_node state="Split:Job01_P1" job="Job01_P1" next_state="Sync" error_state="Error"/> <job_chain_node state="Split:Job02_P2" job="Job02_P2" next_state="Sync" error_state="Error" delay="30"/> <job_chain_node state="Split:Job03_P3" job="Job03_P3" next_state="Sync" error_state="Error"/> <job_chain_node state="Sync" job="Sync_job_chain_parallel" error_state="Error" next_state="Job04"/> <job_chain_node state="Job04" job="Job04" next_state="End" error_state="Error"/> <job_chain_node state="End" job="/sos/jitl/JobChainEnd" next_state="Success" error_state="Error"/> <job_chain_node state="Success"/> <job_chain_node state="Error"/> </job_chain>
See also