...
Starting a job chain from within a running job chain and handing over parameters programmatically can be effected with the following steps.
Version: This feature is only available in JobScheduler version
Display feature availability |
---|
|
.4 onwards.Create a job CallJobChain
Code Block |
---|
language | xml |
---|
title | configuration of the CallJobChain job |
---|
collapse | true |
---|
|
<job order="yes">
<params/>
<script language="javax.script:ecmascript"><![CDATA[
function spooler_process() {
var thisOrder = spooler_task.order();
var order = spooler.create_order();
var execute_jobchain = thisOrder.params().value("execute_jobchain");
order.id = thisOrder.id + "_next" ;
order.params().merge(thisOrder.params);
spooler.job_chain( execute_jobchain ).add_order( order );
return true;
}
]]></script>
<run_time/>
</job> |
Create a synchronization job with the name sync
...
Code Block |
---|
language | xml |
---|
title | Configuration of the sync job |
---|
collapse | true |
---|
|
<job title="Synchronize Job Chains"
order="yes">
<description>
<include file="jobs/JobSchedulerSynchronizeJobChains.xml"/>
</description>
<params/>
<script language="java"
java_class="sos.scheduler.job.JobSchedulerSynchronizeJobChains"
java_class_path=""/>
<run_time/>
</job> |
Create a job chain JobchainSampleChainNext with some nodes and add a node with a synchronization job
Code Block |
---|
language | xml |
---|
title | Configuration of the job chain JobchainSampleChainNext |
---|
collapse | true |
---|
|
<job_chain>
<job_chain_node state="100"
job="job_sample_4"
next_state="sync"
error_state="error"/>
<job_chain_node state="sync"
job="Sync"
next_state="success"
error_state="error"/>
<job_chain_node state="success"/>
<job_chain_node state="error"/>
</job_chain>
|
...
One node is assigned to CallJobChain. This node sets the parameter execute_jobchain to the value JobchainSampleChainNext
. The synchronization job is the succesor of this node.
Code Block |
---|
language | xml |
---|
title | Configuration of the job chain sampleNestedJobChain |
---|
collapse | true |
---|
|
<job_chain>
<job_chain_node state="100"
job="job_sample_1"
next_state="200"
error_state="error"/>
<job_chain_node state="200"
job="job_sample_2"
next_state="callNext"
error_state="error"/>
<job_chain_node state="callNext"
job="CallJobChain"
next_state="sync"
error_state="error"/>
<job_chain_node state="sync"
job="Sync"
next_state="300"
error_state="error"/>
<job_chain_node state="300"
job="job_sample_3"
next_state="success"
error_state="error"/>
<job_chain_node state="success"/>
<job_chain_node state="error"/>
</job_chain>
|