Skip to end of metadata
Go to start of metadata

Commands on Exit Codes

Once the task of a job has terminated you can call various commands depending on its exit code (see commands element).

These commands are particularly "start_job" and "add_order".

Both commands are supported in JOE:

  • Go to command
  • Add a new command
  • Set the exit code for which the command will be called
  • Use the add job or add order buttons to select the command

There are other rare use cases for commands (see list of XML commands).

Other commands may also be indicated in JOE, however, you have to use the "edit XML" function in the context menu of a job to add such commands. A panel will be displayed where you can insert the command.

Example for a Standalone Job

We assume a standalone job (./config/live/test/call_test.job.xml) which calls a shell script. This shell script returns various exit codes.

  • If the exit code is 1 then the job stops.
  • If the exit code is 5 then the job restarts in 1 hour.
  • All other exit codes can be ignored and will treated in the same way as the exit code 0.

Without API

  1. Set the job attribute stop_on_error to the value no
  2. Add command for exit code 1: <modify_job job="/test/call_test" cmd="stop"/>
  3. Add command for exit code 5: <start_job job="/test/call_test" at="now + 01:00"/>
  4. Complete the shell script in which you store the exit code and change it in accordance with the requirement
     
 Expand source

 

The above example is added to a job definition like this:
 

 Expand source

With API

  1. Set the job attribute stop_on_error to the value no (a checkbox right above in the job main formular in JOE)
  2. Add Pre-/Post-processing and insert the following Javascript lines.
 Expand source

 

The above example is added to a job definition like this:

 

 Expand source

Example for an Order Job 

We assume an order job (./config/live/test/call_test.job.xml) which calls a shell script. This shell script returns various exit codes.

  • If the exit code is 1 then the order should stop.
  • If the exit code is 5 then the order should restart in 1 hour.
  • All other exit codes can be ignored and will be treated as exit code  0.
     

Usage with the API

  1. Set the job attribute stop_on_error to the value no (a checkbox right above in the job main form in JOE)
  2. Add Pre-/Post-processing and insert the below Javascript line

The above example is added to a job definition like this:

 

 Expand source