Joining or combining conditional dependencies

You can combine a set of dependencies into a single join dependency.

You can add multiple dependencies from different predecessors to a single join dependency. You then specify how many of those dependencies must be met for IBM® Workload Scheduler to consider the join satisfied. When the conditions satisfy the join, the successor job runs.

Example:

A PROBLEM_SOLVING join dependency within a job stream aggregates three conditional dependencies from different predecessor jobs. The rule requires only one conditional dependency to be met to satisfy the PROBLEM_SOLVING join.

The ABSENCES_RETRY job follows the PROBLEM_SOLVING join and runs when at least one of the three predecessor jobs completes successfully. If the conditions do not satisfy the join, IBM Workload Scheduler places the ABSENCES_RETRY job in the SUPPR state.


A job stream depicting three predecessor jobs and one successor job. All three predecessor jobs have dependencies aggregated into a join dependency. When the join is satisfied, then the successor job runs.

To create the PROBLEM_SOLVING join dependency from the Dynamic Workload Console, complete the following steps:

  1. From the Graphical Designer, create the following job definitions and configure their properties: RESTART_DB, RESTART_WAS, TEMP_CLEANUP, and ABSENCES_RETRY.
  2. From the Blocks tab, drag a job stream onto the canvas and name it IT_PROCESS, then define information about it.
  3. From the Assets tab, drag RESTART_DB, RESTART_WAS, TEMP_CLEANUP, and ABSENCES_RETRY jobs onto the IT_PROCESS job stream.
  4. From the Blocks tab, drag a Join condition item onto the ABSENCES_RETRY job within the IT_PROCESS job stream.
  5. Drag the connecting arrow from the Join condition to the RESTART_DB job, and repeat this action for the RESTART_WAS and TEMP_CLEANUP jobs.
  6. In the Join condition properties panel, in the Name field, enter PROBLEM_SOLVING.
  7. Set the How many value to 1 to specify that at least one of the dependencies must be satisfied.
  8. Select the arrow that connects RESTART_DB to the PROBLEM_SOLVING join dependency and click the Edit icon.
  9. In Status condition, select SUCC from the menu and repeat this action for the RESTART_WAS and TEMP_CLEANUP jobs.
  10. Deploy the workspace.
The PROBLEM_SOLVING join condition aggregates the three conditional dependencies on the ABSENCES_RETRY job. For the ABSENCES_RETRY job to run, at least one predecessor job must satisfy the condition by completing in the SUCC state.
You can define the same scenario by using Orchestration CLI:
SCHEDULE WK1#PROCESSINFO 
ON RUNCYCLE RULE1 "FREQ=DAILY;"
AT 1800
 :
WK1#ABSENCES_RETRY
JOIN PROBLEM_SOLVING 1 OF 
 [DESCRIPTION “...”]
  FOLLOWS WK2#RESTART_DB IF SUCC
  FOLLOWS W32#RESTART_WAS IF SUCC
  FOLLOWS W32#TEMP_CLEANUP IF SUCC
ENDJOIN
END
For more information about defining a join from Orchestration CLI, see join.