Table of Contents | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Starting a job chain from within a running job chain is and handing over parameters programmatically can be effected with the following steps:.1.
Create a job CallJobChain
Code Block | ||
---|---|---|
| ||
<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 using the job wizzard in JOE
...
Code Block | ||
---|---|---|
| ||
<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 | ||
---|---|---|
| ||
<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> |
...
Create a job chain sampleNestedJobChain
. One node is assigned to CallJobChain. This This node sets the parameter execute_jobchain to the value JobchainSampleChainNext
. The synchronization job is the succesor of this node.
Code Block | ||
---|---|---|
| ||
<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> |