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 IBM Workload Scheduler for z/OS engines or HCL Workload Automation 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.
$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 STOP
Distributed shadow jobs support the four matching criteria available for external dependencies.
- 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
See also
From the Dynamic Workload Console you can perform the same task as described in
For more information about how to create and edit scheduling objects, see