Table of Contents |
---|
Scope
- split the execution to multiple job chains and synchronize for the execution of a subsequent job chain
Split & Sync Pattern
Diagram
Graphviz |
---|
digraph { "Chain B" [shape="box",label="Chain B\nWorkDays\n18:00"] "Chain D" [shape="box",label="Chain D\n1) WorkDays immediately\nafter Chain B\n2) unconditionally without\npredecessor at 15:00"] "Chain E" [shape="box",label="Chain E\n1) WorkDays immediately\nafter Chain B\n2) unconditionally without\npredecessor at 16:00"] "Chain F" [shape="box",label="Chain F\n1) WorkDays at 19:30\nafter Chain B completed\n2) unconditionally\nwithout predecessor at 19:30"] "Chain G" [shape="box",label="Chain G\n1) WorkDays at 20:00\nafter Chain B completed\n2) unconditionally\nwithout predecessor at 20:00"] "Chain I" [shape="box",label="Chain I\n1) WorkDays after\nChains D, E, F, G completed\n2) undconditionally\nwithout predecessor at 14:00 on Sat only 14:00"] "Chain B" -> "Chain D" "Chain B" -> "Chain E" "Chain B" -> "Chain F" "Chain B" -> "Chain G" "Chain D" -> "Chain I" "Chain E" -> "Chain I" "Chain F" -> "Chain I" "Chain G" -> "Chain I" } |
Explanations
- As a general rule: whenever a predecssor job chain would have been purged then the job chain would be executed based on its invidual schedule
- All Job Chains have to complete successfully otherwise they would block the processing of their successors.
- At any point in time additional dependencies can be added, e.g. in addition to Job Chain B a
Job Chain B2
could be created with the same dependencies. - For all Job Chains the calendar has to be active otherwise the job chain would not be part of the daily plan.
Job Chain I
Job Chain I
is executed on workdays immediately after the execution of the previous job chains, i.e. some time after 18:00.Job Chain I
is executed on Saturday at 14:00 independent from previous job chains.
Use Cases
Job Chain B
- is removed or is not active at 15:30.
Job Chain E
will start at 16:00.
- is removed or is not active at 17:45
Job Chain E
will start immediately.
- is removed or is not active at 19:00
- If
Job Chain B
has already been successfully executed then it is no more part of the daily plan and cannot be removed. - If
Job Chain B
has already been unsuccessfully executed then- it can be removed and
Job Chain E
will start immediately. - if it is not removed then
Job Chain E
will not start.
- it can be removed and
- If
Job Chain B
has not yet completed then it can be removed andJob Chain E
will start immediately.
- If
- is removed or is not active at 15:30.
Test Cases
...