...
Flowchart |
---|
# order_A [shape="ellipse",label="Order A\n start time: Friday 08:00 ",fillcolor="violet"] # order_B [shape="ellipse",label="Order B\n start time: Friday 07:00 ",fillcolor="violet"] # order_Z [shape="ellipse",label="Order Z\n start time: Friday 15:00 ",fillcolor="violet"] job_chain_1 [label="Job Chain 1\nhas no relevant dependencies",fillcolor="orange"] job_chain_2 [label="Job Chain 2\nis started by Job Chain 1",fillcolor="violet"] job_chain_3 [label="Job Chain 3\nis started by Job Chain 1",fillcolor="lightskyblue"] job_chain_4 [label="Job Chain 4\nis started by Job Chain 1",fillcolor="aquamarine"] job_chain_5 [label="Job Chain 5\nis started by Job Chain 1",fillcolor="orangered"] job_chain_6 [label="Job Chain 6\nis started by Job Chain 4",fillcolor="yellow"] split1 [label="Split 1", fillcolor="orange"] job1 [label="Job 1", fillcolor="orange"] job2 [label="Job 2", fillcolor="orange"] sync1 [label="Sync 1", fillcolor="orange"] job1_2 [label="Job 1.2", fillcolor="orange"] job3 [label="Job 3", fillcolor="violet"] job4 [label="Job 4", fillcolor="violet"] job5 [label="Job 5", fillcolor="lightskyblue"] job6 [label="Job 6", fillcolor="lightskyblue"] job7 [label="Job 7", fillcolor="aquamarine"] job8 [label="Job 8", fillcolor="aquamarine"] job9 [label="Job 9", fillcolor="aquamarine"] job10 [label="Job 10", fillcolor="orangered"] job11 [label="Job 11", fillcolor="orangered"] job12 [label="Job 12", fillcolor="orangered"] job13 [label="Job 13", fillcolor="yellow"] job_chain_1 -> split1 split1 -> job1 -> sync1 split1 -> job2 -> sync1 sync1 -> job1_2 job1 -> job_chain_2 -> job3 -> job4 job2 -> job_chain_3 -> job5 -> job6 job1_2 -> job_chain_4 -> job7 -> job8 -> job9 job1_2 -> job_chain_5 -> job10 -> job11 -> job12 job9 -> job_chain_6 -> job13 # job8 -> job4 # job11 -> job4 # job11 -> job6 job4 -> job8 [arrowhead="normal", color="lightslategrey"] job4 -> job11 [arrowhead="normal", color="lightslategrey"] job6 -> job11 [arrowhead="normal", color="lightslategrey"] job13 -> job12 [arrowhead="normal", color="lightslategrey"] |
Implementation
Components
- All Chains below are only to be run when required and have no Orders assigned
- Chain1 runs Job1 and Job2 in parallel
- On successful completion of Job1, Chain2 is run
- On successful completion of Job2, Chain3 is run
- Chain2 runs Job3 and Job4
- Chain3 runs Job5 and Job6
- Chain4 runs after successful completion of Chain1
- Chain4 runs Job7, Job8 and Job9
- Job7 runs 1st
- Job8 runs once Job7 and Job4 have run successfully
- Job9 runs once Job8 has completed successfully
- Chain5 runs after successful completion of Chain1
- Chain5 runs Job10, Job11 and Job12
- Job10 runs 1st
- Job11 runs once Job10, Job4 and Job6 have run successfully
- Job12 runs once Job11 has completed successfully
- Chain6 runs once Job9 and Job12 have completed successfully
- The solution contains six job chains:
JobChain1
runsJob1
andJob2
in parallel.- On successful completion of
Job1
thenJobChain2
is run - On successful completion of
Job2
thenJobChain3
is run
- On successful completion of
JobChain2
runsJob3
andJob4
JobChain3
runsJob5
andJob6
JobChain4
runs after successful completion ofJobChain1
JobChain4
runsJob7
,Job8
,Job9
Job7
runs 1stJob8
runs onceJob7
andJob4
have run successfully
JobChain5
runs after successful completion ofJobChain1
JobChain5
runsJob10
,Job11
andJob12
Job10
runs 1stJob11
runs onceJob10
,Job4
andJob6
have run successfullyJob12
runs onceJob11
has completed successfully
...