Assuming, you have a shell script as a member of a job chain. You want to check, whether the call of the script is running after a suspend, that is, the last call ended with an error.
You can achieve this by adding some pre-processing and post-processing to the job.
Setting the default value of an order parameter suspend in the pre-processing
function spooler_process_before() {
var order = spooler_task.order;
if (order.params.value("suspend") == null){
order.params.set_var("suspend","false");
}
return true;
}
Checking the exit code. If not zero then set the order parameter suspend to true
function spooler_task_after(){
var order = spooler_task.order;
if (spooler_task.exit_code == 0){
order.params.set_var("suspend","false");
}else{
order.params.set_var("suspend","true");
}
return true;
}
Then the environment variable will be accessible in your script:
echo ------ %scheduler_param_suspend%
The whole sample can be downloaded here suspend_sample.zip