Joining or combining conditional dependencies

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

About this task

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 HCL Workload Automation 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, HCL Workload Automation 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:

Procedure

  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.

Results

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.

Example

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.