Controlling processing using dependencies
When defining job streams and managing the workload in the plan,
you can control processing 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:
- Tivoli Workload Scheduler 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, Tivoli Workload Scheduler 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 Tivoli Workload Scheduler network. Internetwork dependencies
require a network agent workstation to communicate with the external Tivoli Workload Scheduler network.
Dependencies in a z/OS environment:
- You can have dependencies only between jobs. They can be:
- Dependencies between jobs belonging to the same job stream
- When you create a job stream, you link, in a sequence, the jobs
that it contains. You can also set dependencies between the jobs to
have a successor job not begin until its predecessor job is complete.
Dependencies determine when the successor job runs.
- Dependencies between jobs belonging to different job streams
- These dependencies are named external. External jobs represent
jobs that are part of other job streams. You can create a dependency
between jobs in different job streams by creating a dependency on
an external job.
- Condition dependencies
- 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.
Job streams in a z/OS environment do not support dependencies
on files or prompts.
- Cross dependencies
- In multiple heterogeneous scheduling
environments you can define dependencies on batch activities managed
by other Tivoli Workload Scheduler environments. To define a cross
dependency on a job running on a different Tivoli Workload Scheduler
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 Tivoli Workload Scheduler in both the distributed
and z/OS environments.