Dependency keywords
In this topic you can find the list of dependency keywords.
This topic lists all the keywords that you can use when defining a dependency. You can find the syntax of the scheduling keywords and related examples.
follows
Using this keyword, you can specify which jobs and job streams must successfully complete before a job or job stream can start running. You can use the following syntax:
Syntax
- Internal dependency on a job
-
follows jobname
[if <condition> [| <condition>...]]
- External dependency on a job stream
-
follows [workstation#]jobstream
[previous|sameday|relative from [+/-] time to [+/-] time|from time [+/-n day[s]] to time [+/-n day[s]] [if <condition> [| <condition>...]]
- External dependency on a job
-
follows [workstation#]jobstream .jobname
[previous|sameday|relative from [+/-] time to [+/-] time | from time [+/-n day[s]] to time [+/-n day[s]] [if <condition> [| <condition>...]]
Arguments
- [folder/]workstation
- Using this keyword, you can specify the path of the workstation on which the job or job stream that must complete runs. The default workstation is the same of the dependent job or job stream.
- [folder/]jobstream
- Using this keyword, you can specify the path of the job stream that must complete.
- time
- Using this keyword, you can specify a time of the day from 0000 to 2359.
- jobname
- Using this keyword, you can specify the name of the job that must complete. You can use the at sign (@) to specify that all the jobs in the job stream must successfully complete.
- previous|sameday|relative from [+/-] time to [+/-] time | from time [+/-n day[s]] to time [+/-n day[s]]
- Using this syntax, you can define how to match a specifc job stream or job in the plan with a job stream or job referenced by an external follows dependency. For more information, seeManaging matching criteria.
- [if <condition> [| <condition>...]]
- Using this keyword, you can define conditional dependencies to make a job or job stream run only after some conditions are satisfied by the predecessors. You can also use conditional dependencies to specify alternative flows in a job stream: the successor job is determined according to the conditions satisfied by the predecessor job or job stream. If an output condition is not satisfied, the jobs in the flow do not run and are put in SUPPR status. The behaviour of regular dependency is different, because jobs are put in HOLD status until the predecessor is in SUCC status.
Comments
Matching criteria are resolution rules that identify the predecessor job or job stream when there is one or multiple instances of the same predecessor job or job stream in the plan. The successor runs when the dependency is satisfied by the predecessor job or job stream.
Follows dependencies are classified as internal by the scheduler when they are specified only by their job name within the job stream; if they are specified in the workstation#/folder/jobstreamName.jobName format, such follows dependencies are classified as external.
If the job stream includes a job with a follows dependency that has the same name of the job stream, such dependency is added to the plan as an external follows dependency.
For more information and examples on how external follows dependencies are resolved in the plan refer to Matching criteria.
JOB_STREAM_2
job stream contains a job definition named JOBDEF1
, which has
two dependencies: JOBDEF3
which is defined in the same job
stream, and JOBDEF2
which is defined inside
JOB_STREAM_1
.SCHEDULE WS_AGT_1#JOB_STREAM_2 TIMEZONE UTC
SCHEDTIME 0930
:
WS_AGT_0#JOBDEF1
SCHEDTIME 2000 MAXDUR 0430 ONMAXDUR CONT MINDUR 0100 ONMINDUR CONT
FOLLOWS WS_AGT_1#JOB_STREAM_1.JOBDEF2
FOLLOWS WS_AGT_1#JOB_STREAM_2.JOBDEF3
END
join
Using the join keyword, you can define a set of join dependencies on a job or job stream. Specify the number of dependencies that must be satisfied to consider the join as fulfilled. Alternatively, you can use the ALL keyword to indicate that all dependencies must be satisfied for the successor job to run.
Syntax
[join join_name [0 | numconditions | ALL] OF
DESCRIPTION "..."]
...
ENDJOIN
Arguments
- join_name
- You can use this keyword to define a name for the set of join conditions.
- 0
- This value indicates that all dependencies must be fulfilled.
- numconditions
- You can specify the number of dependencies required to satisfy the join conditions.
- ALL
- You can use this keyword to define that all the dependencies must be fulfilled to satisfy the join conditions.
- DESCRIPTION
- Optionally, you can use this keyword to define a description for the set of join conditions.
Comments
You can define internal and external dependencies on a job, both standard and conditional.
You can define only internal dependencies on a job stream, both standard and conditional.
Internetwork dependencies are not supported.
- In the following example,
JOBSTREAM_1
can run only after all the dependencies have been satisfied.SCHEDULE WS_AGT_1#JOBSTREAM_1 TIMEZONE America/New_York ON RUNCYCLE RC1 "FREQ=WEEKLY;INTERVAL=1;BYDAY=FR" AT 1000 +1 DAYS JOIN DEPLIST ALL OF FOLLOWS WS_AGT_1#JOBSTREAM_01.JOBDEF_01 FOLLOWS WS_AGT_1#JOBSTREAM_02.JOBDEF_02 FOLLOWS WS_AGT_1#JOBSTREAM_03.JOBDEF_03 ENDJOIN : WS_AGT_1#JOBDEF_1 WS_AGT_1#JOBDEF_2 END
- In the following example,
JOBSTREAM_1
can run only after at least two dependencies have been satisfied.SCHEDULE WS_AGT_1#JOBSTREAM_1 TIMEZONE America/New_York ON RUNCYCLE RC1 "FREQ=WEEKLY;INTERVAL=1;BYDAY=FR" AT 1000 +1 DAYS JOIN DEPLIST 2 OF FOLLOWS WS_AGT_1#JOBSTREAM_01.JOBDEF_01 FOLLOWS WS_AGT_1#JOBSTREAM_02.JOBDEF_02 FOLLOWS WS_AGT_1#JOBSTREAM_03.JOBDEF_03 ENDJOIN : WS_AGT_1#JOBDEF_1 WS_AGT_1#JOBDEF_2 END
- In the following example,
JOBDEF_2
can run only after all the dependencies have been satisfied.SCHEDULE WS_AGT_1#JOBSTREAM_1 TIMEZONE America/New_York ON RUNCYCLE RC1 "FREQ=WEEKLY;INTERVAL=1;BYDAY=FR" AT 1000 +1 DAYS : WS_AGT_1#JOBDEF_1 WS_AGT_1#JOBDEF_2 JOIN DEPLIST 0 OF FOLLOWS WS_AGT_1#JOBSTREAM_01.JOBDEF_01 FOLLOWS WS_AGT_1#JOBSTREAM_02.JOBDEF_02 FOLLOWS WS_AGT_1#JOBSTREAM_03.JOBDEF_03 ENDJOIN END
matching
Using this keyword, you can set a default matching criteria to be used in all follows dependencies when a matching criteria has not been specified in the job stream definition or in the jobs contained in the job stream.
Syntax
matching {previous |sameday | relative from [+/-] time to [+/-] time
Arguments
For information about the keyword used with matching see the follows keyword.
SCHED2
that: - Contains a
job1
that can be run today only if it was run yesterday. - Needs the instance of job stream
SCHED1
running the same day to complete before running.
SCHEDULE PDIVITA1#SCHED2
ON RUNCYCLE RULE1 "FREQ=DAILY;"
ON RUNCYCLE CALENDAR2 CAL1
MATCHING PREVIOUS
FOLLOWS PDIVITA1#SCHED1.@ SAMEDAY
FOLLOWS PDIVITA1#SCHED2.JOB1
:
PDIVITA1#JOB1
PDIVITA1#JOB2
END
In this sample the external follows dependency from
PDIVITA1#SCHED2.JOB1
inherits the matching criteria
specified in the matching keyword.JOB_STREAM_135205088
job stream. It is scheduled
to run at 10.00 a.m. only if JOB_STREAM_135205088
has
previously run correctly in the same day between 8:00 and 9:00
a.m.
SCHEDULE WS_AGT_1#JOB_STREAM_1 TIMEZONE America/New_York
ON RUNCYCLE RC1 "FREQ=WEEKLY;INTERVAL=1;BYDAY=FR"
SCHEDTIME 1000 +1 DAYS
MATCHING RELATIVE FROM -0200 TO -0100
FOLLOWS WS_AGT_0#JOB_STREAM_135205088.@
:
END