Available with Workflow Manager license.
Job dependencies have similarities to the Holds tab in that they can halt the execution of the job. However, the power behind Job dependencies lies in their ability to allow you to model relationships between jobs. By defining a dependency on a job, you can restrict the progression of the job past a certain stage until another job has progressed past a certain stage. Restrictions can be placed on and restricted by the following parts of a job: Status or Step.
Dependency information will consist of
- Job—The job to be held
- Held type—The type of value the job is being held at (step or status)
- Hold value—The ID of the step or status where you want to hold
- Dependent Job—The job that you are dependent (holding) on
- Dependent Hold type—The type of value you are being held up on (step or status)
- Dependent Hold value—The ID of the step or status your dependent job has to be at or beyond before you release the hold
When the job that is restricting the workflow of another reaches the stage defined in the dependency, the restricted job is automatically released and able to work. When a job is unable to work because of a dependency, you are notified that a dependency exists and you can find out more information by visiting the Dependencies tab.
With this feature, you can build advanced relationship models between jobs, such as the following scenarios:
Scenario 1—Parallel Jobs
Jobs A, B, and C cannot be closed until the steps of each are completed.
Scenario 2—Sequential Jobs
Job E cannot be started until Job D is closed.
Scenario 3—Staggered Jobs
Job H cannot be started until Job G is at step c.
Scenario 4—Parent/Child Jobs
Job W (parent) cannot get to step d until X, Y, and Z (children) are closed.
Creating a dependency on a job
Clicking the Dependencies tab when a job is selected in the job list shows something similar to the figure below.
The current dependencies are outlined in the table in the main panel. The option buttons on the right-hand side allow you to choose which subset of the dependencies to view. The options are
- All—All dependencies relating to the job, including those holding up the current job, and those holding up other jobs because of the current job
- Depending On—Only the dependencies (potentially) holding up the current job
- Dependent—Only the dependencies (potentially) holding up other jobs, because of the current job
- Select the job you want to depend on another and click the Dependencies tab.
- Click Create on the right panel.
- Select the step or status at which you want to hold the current job by clicking the Hold job execution at: drop-down arrow and choosing an option.
- Choose the job id of the job that this job is dependent on.
- Select the step or status of the job chosen in step 4. that will release this dependency by clicking the Step or Status drop-down arrow and choosing an option.
- Click OK.