Shadow jobs
A shadow job is a job defined on the local workstation which is used to map a job running on a remote workstation, called a remote job. You can use shadow jobs to integrate the workload running on different engines, which can be engines or engines.
Shadow jobs are defined using XML syntax. The key attributes to identify the remote job instance and the related matching criteria depend on the type of remote engine where the remote job instance is defined. Fields highlighted in bold are those used to identify the remote job instance.
Because z/OS engines support only closest preceding matching criteria the XML
template to define a z/OS shadow job is the
following:
$JOBS
WORKSTATION#ZSHADOW_CLOS_PRES
TASK
<?xml version="1.0" encoding="UTF-8"?>
<jsdl:jobDefinition
xmlns:jsdl="http://www.ibm.com/xmlns/prod/scheduling/1.0/jsdl"
xmlns:zshadow="http://www.ibm.com/xmlns/prod/scheduling/1.0/zshadow">
<jsdl:application name="zShadowJob">
<zshadow:ZShadowJob>
<zshadow:JobStream>JobStream</zshadow:JobStream>
<zshadow:JobNumber>JobNumber</zshadow:JobNumber>
<zshadow:matching>
<zshadow:previous/>
</zshadow:matching>
</zshadow:ZShadowJob>
</jsdl:application>
</jsdl:jobDefinition>
DESCRIPTION "Sample Job Definition"
RECOVERY STOPNote: Make sure that you enter valid settings in the JobStream and
JobNumber fields.
Distributed shadow jobs support the four matching criteria available for external dependencies.
The following shows the XML
templates you can use to define distributed shadow jobs:
- Matching criteria: Closest preceding
- XML
sample:
$JOBS WORKSTATION#DSHADOW_CLOS_PRES TASK <?xml version="1.0" encoding="UTF-8"?> <jsdl:jobDefinition xmlns:jsdl="http://www.ibm.com/xmlns/prod/scheduling/1.0/jsdl" xmlns:dshadow="http://www.ibm.com/xmlns/prod/scheduling/1.0/dshadow"> <jsdl:application name="distributedShadowJob"> <dshadow:DistributedShadowJob> <dshadow:JobStream>JobStream</dshadow:JobStream> <dshadow:Workstation>Workstation</dshadow:Workstation> <dshadow:Job>Job</dshadow:Job> <dshadow:matching> <dshadow:previous/> </dshadow:matching> </dshadow:DistributedShadowJob> </jsdl:application> </jsdl:jobDefinition> DESCRIPTION "Sample Job Definition" RECOVERY STOP - Matching criteria: Within an absolute interval
- XML
sample:
$JOBS WORKSTATION#DSHADOW_ABSOLUTE TASK <?xml version="1.0" encoding="UTF-8"?> <jsdl:jobDefinition xmlns:jsdl="http://www.ibm.com/xmlns/prod/scheduling/1.0/jsdl" xmlns:dshadow="http://www.ibm.com/xmlns/prod/scheduling/1.0/dshadow"> <jsdl:application name="distributedShadowJob"> <dshadow:DistributedShadowJob> <dshadow:JobStream>JobStream</dshadow:JobStream> <dshadow:Workstation>Workstation</dshadow:Workstation> <dshadow:Job>Job</dshadow:Job> <dshadow:matching> <dshadow:absolute from="0600 -4" to="1100 +3"/> </dshadow:matching> </dshadow:DistributedShadowJob> </jsdl:application> </jsdl:jobDefinition> DESCRIPTION "Sample Job Definition" RECOVERY STOP - Matching criteria: Within a relative interval
$JOBS WORKSTATION#DSHADOW_RELATIVE TASK <?xml version="1.0" encoding="UTF-8"?> <jsdl:jobDefinition xmlns:jsdl="http://www.ibm.com/xmlns/prod/scheduling/1.0/jsdl" xmlns:dshadow="http://www.ibm.com/xmlns/prod/scheduling/1.0/dshadow"> <jsdl:application name="distributedShadowJob"> <dshadow:DistributedShadowJob> <dshadow:JobStream>JobStream</dshadow:JobStream> <dshadow:Workstation>Workstation</dshadow:Workstation> <dshadow:Job>Job</dshadow:Job> <dshadow:matching> <dshadow:relative from="-400" to="+500" /> </dshadow:matching> </dshadow:DistributedShadowJob> </jsdl:application> </jsdl:jobDefinition> DESCRIPTION "Sample Job Definition" RECOVERY STOP- Matching criteria: Same scheduled date
- XML
sample:
$JOBS WORKSTATION#DSHADOW_SAMEDAY TASK <?xml version="1.0" encoding="UTF-8"?> <jsdl:jobDefinition xmlns:jsdl="http://www.ibm.com/xmlns/prod/scheduling/1.0/jsdl" xmlns:dshadow="http://www.ibm.com/xmlns/prod/scheduling/1.0/dshadow"> <jsdl:application name="distributedShadowJob"> <dshadow:DistributedShadowJob> <dshadow:JobStream>JobStream</dshadow:JobStream> <dshadow:Workstation>Workstation</dshadow:Workstation> <dshadow:Job>Job</dshadow:Job> <dshadow:matching> <dshadow:sameDay/> </dshadow:matching> </dshadow:DistributedShadowJob> </jsdl:application> </jsdl:jobDefinition> DESCRIPTION "Sample Job Definition" RECOVERY STOP