Table of Contents | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Starting a job chain from within a running job chain is effected with the following steps:
1. create Create a job CallJobchain CallJobChain
Code Block |
---|
<job order="yes" stop_on_error="no" enabled="yes" > <settings> <log_level><![CDATA[debug9]]></log_level> </settings> <params/> <script language="javascript"> <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> |
2. create Create a "sync job" named "sync" synchronization job with the name sync using the job wizzard in JOE:
Code Block |
---|
<job title="Synchronize Job Chains" order="yes" tasks="1" enabled="yes" > <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 some nodes and add a node with sync a synchronization job.:
Code Block |
---|
<job_chain orders_recoverable="yes" visible="yes"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> |
4. Create a job chain sampleNestedJobchain sampleNestedJobChain. One node is assigned to CallJobchainCallJobChain. This node sets the parameter execute_jobchain= to the value JobchainSampleChainNext
. The sync synchronization job is the succesor of this node.
Code Block |
---|
<job_chain orders_recoverable="yes"chain> visible="yes" > <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="CallJobchainCallJobChain" 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> |