How to restart job automatically at a later time if it fails


#1

Let’s say we have a process scheduled in Orchestrator to run at midnight every day. If the process fails (for any reason), is it possible to have Orchestrator automatically reschedule the process to run again in 2 hours?

I see in 2018.1.0 there is an Orchestrator Activities pack that would make this straightforward. However, is there a way currently to restart a failed process at a later time?


#2

Hi,

Currently, there is no feature that automatically sees a failed job and reschedules.

However, you can do this by either scheduling it multiple times or with CRON expression, or by designing your process with robust error handling.

So if you simply schedule your job to run more than once, you can design your process at the start to check if it has already been completed for that day previously, therefore you can schedule it all you want and it will only really run if it has not been complete yet.

I will suggest though that your error handling is robust as well. You can have it pull in an exception and perform retry attempts or even pause for an amount of time.

If it relies on input data and that data has not been generated yet and you don’t want the job to be holding up your robot from other jobs running, then scheduling the job multiple times would make the most sense. For help on CRON expressions there are many resources online.

Regards.


#3

My thoughts exactly, the 2 am scheduler will be a “just in case” schcedule. I think the queueing mechanism has retry feature.


#4

I thought that was the case, but figured I’d ask just in case.

Wherever possible I agree that it is good to have error handling try again. I was thinking of the use case where it is waiting for an upstream process to be completed so it could use that data.

There’s probably a way to use the Postpone Transaction Item to create this automatic reschedule, but that would require structuring the activity as a work queue - might make things more convoluted though.