cancel
Showing results for 
Search instead for 
Did you mean: 

Retry a process in case of failure

shahariar_k_bhu
Level 5
Does Blue Prism provide an easy way to retry a process after X minutes in case of a failure? Lets say that I run a process. It fails due to some data not being available. How can I retry the process in 1-2 hour time? I was thinking about adding the process to a queue at a specified time, and have the scheduler run the "Get Next Item" from queue at a later time, and X minutes later in case of a failure. For example at 14:00, and if the process fails to run at 14:00 due to some data missing, we retry at 16:00 by deferring the queue item. However, if it succeed at 14:00, it will still run the process at 16:00 by "Getting the Next Item", even though the queue is empty. Is there an easier way to retry a process in X minutes?
2 REPLIES 2

Denis__Dennehy
Level 15
I think what you are talking about are 'System Unavailable Exception' types. Where the system is down so nothing is possible (see the exception guide for details of the different standard exception types). A System Unavailable Exception is recognised when an application cannot even be restarted during a retry loop (which you should have in your process if you using the Blue Prism templates). Some clients do not terminate the process if a system is unavailable, they instead send an alert to the process controles (i.e. an email) and keep trying to start the application that is not available every 5 or 10 minutes until it is available again. This is a kind of application polling logic - make sure you have the stop decision logic within this application polling. I am sure your Blue Prism Delivery Enablement Manager would be happy to have a discussion with you about this kind of logic, but do ensure you are already using the standard template with all the other best practice exception handling implmented first.

TimMorthorst1
Level 3
Hi Shabhu, What you could do is a 'queue checking' process which takes approximately 1 second to execute - this process can, based on an input check certain queues for unfinished items. Through the scheduler you can set it up to only run your process if there are any unfinished items (e.g. with a particular ""Data unavailable"" exception). I hope this explanation makes sense.