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