Dependencies
Controlling processing using dependencies
When defining job streams and managing the workload in the plan, you can control process flow using dependencies.
You can specify the following types of dependencies:
- Dependencies in a distributed environment:
- You can have dependencies between jobs, between job streams, or
between jobs and job streams. They can be:
- Internal dependencies
- These are dependencies established between jobs belonging to the same job stream.
- External dependencies
- These are dependencies between job streams,
between job streams and jobs belonging to other job streams, or between
jobs belonging to different job streams. The following resolution
criteria are used to satisfy these dependencies:
- Closest preceding
- The closest preceding in time before the instance that includes the dependency.
- Same scheduled date
- The instance planned to run on the same day.
- Within a relative interval
- The closest preceding instance within the relative time interval you chose, or, if none is found, the closest following instance within the relative time interval you chose.
- Within an absolute interval
- The closest preceding instance within an absolute time interval you chose, or, if none is found, the closest following instance within the absolute time interval you chose.
Regardless of the used matching criteria, if multiple instances of potential predecessor job streams exist in the specified time interval, the rule used by the product to identify the correct predecessor instance is the following:- HCL Workload Automation searches for the closest instance that precedes the depending job or job stream start time. If such an instance exists, this is the predecessor instance.
- If there is no preceding instance, HCL Workload Automation considers the correct predecessor instance as the closest instance that starts after the depending job or job stream start time.
- Internetwork dependencies
- These are dependencies on jobs or job streams running in another HCL Workload Automation network. Internetwork dependencies require a network agent workstation to communicate with the external HCL Workload Automation network.
- Conditional dependencies (distributed)
- A relationship between one job, named the successor, and
one or more jobs or job streams, named predecessors, stating
that the successor can run only when a specific combination of conditions
occur or are satisfied by the predecessor job. Job output conditions
are set on the job definition and when a conditional dependency is
added to a job in a job stream, the output conditions that must be
satisfied by the predecessor job are specified. Conditions can include
if the job has started, the state of the job, and any number of custom
defined conditions, often expressed as job return or exit codes. You
can specify that only a single condition must be satisfied, all conditions
must be satisfied, or specify a subset of conditions that must be
satisfied.
When the conditions are not met by the predecessor, then any successor jobs with a conditional dependency associated to them are put in suppress state. Successor jobs with a standard dependency or no dependency at all defined run normally.
- Dependencies in a z/OS environment:
- You can have different kind of dependencies between jobs and job streams.
They can be:
- Internal dependencies
- These are dependencies established between jobs belonging to the same job stream.
- External dependencies
- These are dependencies between job streams, between job streams and jobs
belonging to other job streams, or between jobs belonging to different job streams. The following
resolution criteria are used to satisfy these dependencies:
- Closest preceding
- The closest preceding in time before the instance that includes the dependency.
- Same scheduled date
- The instance planned to run on the same day.
- Within a relative interval
- The closest preceding instance within the relative time interval you chose, or, if none is found, the closest following instance within the relative time interval you chose.
- Within an absolute interval
- The closest preceding instance within an absolute time interval you chose, or, if none is found, the closest following instance within the absolute time interval you chose.
Regardless of the used matching criteria, if multiple instances of potential predecessor job streams exist in the specified time interval, the rule used by the product to identify the correct predecessor instance is the following:- HCL Workload Automation searches for the closest instance that precedes the depending job or job stream start time. If such an instance exists, this is the predecessor instance.
- If there is no preceding instance, HCL Workload Automation considers the correct predecessor instance as the closest instance that starts after the depending job or job stream start time.
- Condition dependencies (z/OS)
- It
is a relationship between one job, named a conditional successor, and one or more jobs, named
conditional predecessors, stating that the conditional successor can run only when a specific
combination of conditional predecessor status and return code values occurs. You can define a
conditional dependency where the conditional successor starts if its conditional predecessors are in
ended-in-error or started status. Note: Condition dependencies are always managed as external dependencies, even if they link jobs belonging to the same job stream occurrence in the plan.
- Cross dependencies
- In multiple heterogeneous scheduling environments you can define dependencies on batch activities managed by other HCL Workload Automation environments. To define a cross dependency on a job running on a different HCL Workload Automation engine, you must define a dependency on a locally-defined shadow job pointing to the remote job instance and running on a remote engine workstation. The remote engine workstation manages the communication with the remote engine using an HTTP or HTTPS connection.
Dependencies on resources are supported by HCL Workload Automation in both the distributed and z/OS environments.