Versions Compared

Key

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

...

Code Block
        <[http://www.sos-berlin.com/doc/en/scheduler.doc/xml/job.xml job ]order="yes"
             stop_on_error="no"
             name="job_with_exit_code_generic">
            <[http://www.sos-berlin.com/doc/en/scheduler.doc/xml/params.xml params]/>
 
            <[http://www.sos-berlin.com/doc/en/scheduler.doc/xml/script.xml script ]language="shell">
                <![CDATA[
 rem another sample
 exit 98
                ]]>
            </script>
 
            <[http://www.sos-berlin.com/doc/en/scheduler.doc/xml/monitor.xml monitor ]name="exitCodeDispatcherGeneric"
                     ordering="0">
                <[http://www.sos-berlin.com/doc/en/scheduler.doc/xml/script.xml script ]language="javascript">
                    <![CDATA[
 function spooler_task_after()\{
 //You define a node with exit.<exitCode> for each possible exitCode
 //If node is not defined, a default will be used
   var exitCode = spooler_task.exit_code;
   var order = spooler_task.order;
 
  if (exitCode != 0)\{
    newState = "exit." + exitCode;
    try \{//Checking, wether node is defined in job chain configuration
      order.job_chain.node( newState )    
   \} catch (e) \{
        order.state = "exit.default";
   \}
   order.state = "exit." + exitCode
   \}
   return true;
 \}
                    ]]>
                </script>
            </monitor>
 
            <[http://www.sos-berlin.com/doc/en/scheduler.doc/xml/run_time.xml run_time]/>
        </job>
    </jobs>
Code Block
languagejavascript

function spooler_task_after()\{
 //You define a node with exit.<exitCode> for each possible exitCode
 //If node is not defined, a default will be used
   var exitCode = spooler_task.exit_code;
   var order = spooler_task.order;
 
  if (exitCode != 0)\{
    newState = "exit." + exitCode;
    try \{//Checking, wether node is defined in job chain configuration
      order.job_chain.node( newState )    
   \} catch (e) \{
        order.state = "exit.default";
   \}
   order.state = "exit." + exitCode
   \}
   return true;
 \}

Here is the job chain

Code Block
   <[http://www.sos-berlin.com/doc/en/scheduler.doc/xml/job_chain.xml job_chain] orders_recoverable="yes"
                   visible="yes"
                   title="Sample for a job chain with handling exit codes"
                   name="job_chain_exit_code_dispatcher">
            <[http://www.sos-berlin.com/doc/en/scheduler.doc/xml/job_chain_node.xml job_chain_node] state="firstStep"
                            job="job_with_exit_code"
                            next_state="secondStep"
                            error_state="error"/>
 
            <[http://www.sos-berlin.com/doc/en/scheduler.doc/xml/job_chain_node.xml job_chain_node] state="secondStep"
                            job="job_with_exit_code_generic"
                            next_state="200"
                            error_state="error"/>
 
            <[http://www.sos-berlin.com/doc/en/scheduler.doc/xml/job_chain_node.xml job_chain_node] state="200"
                            error_state="error"
                            job="job_sample"
                            next_state="300"/>
 
            <[http://www.sos-berlin.com/doc/en/scheduler.doc/xml/job_chain_node.xml job_chain_node] state="300"
                            error_state="error"
                            job="job_sample"
                            next_state="400"/>
 
            <[http://www.sos-berlin.com/doc/en/scheduler.doc/xml/job_chain_node.xml job_chain_node] state="400"
                            error_state="error"
                            job="job_sample"
                            next_state="success"/>
  
            <[http://www.sos-berlin.com/doc/en/scheduler.doc/xml/job_chain_node.xml job_chain_node] state="success"/>
 
            <[http://www.sos-berlin.com/doc/en/scheduler.doc/xml/job_chain_node.xml job_chain_node] state="success:2"/>
 
            <[http://www.sos-berlin.com/doc/en/scheduler.doc/xml/job_chain_node.xml job_chain_node] state="error"/>
 
            <[http://www.sos-berlin.com/doc/en/scheduler.doc/xml/job_chain_node.xml job_chain_node] state="exit.99"/>
 
            <[http://www.sos-berlin.com/doc/en/scheduler.doc/xml/job_chain_node.xml job_chain_node] state="exit.default"/>
        </job_chain>