...
1. create a job CallJobchain
Code Block |
---|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
Code Block |
<job order="yes" stop_on_error="no" enabled="yes" name="CallJobchain"> <settings> <log_level><![CDATA[debug9]]></log_level> </settings> <params/> <script language="javascript"> <![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> |
2. create s a "sync job" named "sync" using the job wizzard in JOE
Code Block |
---|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
Code Block |
<job title="Synchronize Job Chains" order="yes" tasks="1" enabled="yes" name="Sync"> <description> <include file="jobs/JobSchedulerSynchronizeJobChains.xml"/> </description> <params/> <script language="java" java_class="sos.scheduler.job.JobSchedulerSynchronizeJobChains" java_class_path=""/> <run_time/> </job> |
3. Create a job chain JobchainSampleChainNext with n nodes and add a node with sync job.
Code Block |
---|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
Code Block |
<job_chain orders_recoverable="yes" visible="yes" name="JobchainSampleChainNext"> <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> |
4. Create a job chain sampleNestedJobchain. One node is assigned to CallJobchain. This node sets the parameter execute_jobchain=JobchainSampleChainNext. The sync job is the succesor of this node.
...
.
...
Code Block |
---|
<job_chain orders_recoverable="yes"
visible="yes"
name="sampleNestedChain">
<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>
|