This example has three different chains :
- Chain I
- Chain II
- Chain III
Note:(Chains are not nested)
Jobs:
- Chain I (Job1,Job2,Job3)
- Chain II (Job4,Job5,Job6)
- Chain III(Job7,Job8,Job9)
Order of Execution should be
On completion of Job1,
- Job2-Job3-Job4 should start in parallel.
- Job5-Job7 should start after the completion of Job4.
- Job6 should start after the completion of Job5 and all the jobs in Chain I.
- Job8 should start after the completion of Job7 and all the jobs in Chain II.
- Job9 should start after the completion of Job8.
How it works
- Job2-Job3-Job4 should start in parallel: Is done by splitter job in job chain1 and a command on exit for job1
- Job5-Job7 should start after the completion of Job4: Is done by the sequence of the job chain2 and a command on exit for job4
- Job6 should start after the completion of Job5 and all the jobs in Chain I: Is done by sync job Sync_3
- Job8 should start after the completion of Job7 and all the jobs in Chain II: Is done by sync job Sync_2
- Job9 should start after the completion of Job8: Is done by the the sequence of the job chain3
You can download the source for this example from here.