Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
outlinh1. true
outlinh1. true
1printablefalse
2stylh1. none
3indent20px

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>