cancel
Showing results for 
Search instead for 
Did you mean: 

Retry mechanism question

VratHimbo
Level 6

Hi all,
i've an important question about retry mechanism, i've set 3 to max attempts in my work queue, and i've used a process that retry for three times in case of exception.
My doubt is: i mark exception in case of system exception, but also in caso of business exception. My challenge is to retry only the system exception and i want to retry the same case immediately after the failed item. 

Example: 1234 goes in error? Retry 1234, retry 1234, retry 1234 and then pass to the next item, how can i do that?
Now after first case it pass to the next case and i'm not able to re-catch the same item just failed.

Thanks in advance



------------------------------
Vrat Himbo
------------------------------
3 REPLIES 3

AndreyKudinov
Level 10
If you want to handle specific exceptions and retrying right away, you should probably just handle exception in place and retry with a counter instead of marking item as exception. Even more so if you are in the middle of some write/modify action.
Queue item exceptions are really useful when lots of things happen, it mostly works, but can go south once in a blue moon, yet nothing critical would break anyway, so instead of trying to catch every exception possible in your app UI, you just mark it, reset to the beginning and retry again.

Although if you really want to use queues, you should be able force immediate retry using priorities - set whole queue prio to 2, on exception make it 1 and mark exception.
Can even use it as retry counter and tags to distinguish between exception types, but then set it to exception on business case without retries and just unlock the item for retry on system exception. This might not work well in multi-bot scenario.

------------------------------
Andrey Kudinov
Project Manager
MobileTelesystems PJSC
Europe/Moscow
------------------------------

Hi, Vrat,

well, I've never tried that as I find it quite obscure but I believe that in Mark Exception there is an option Keep Locked which can be used as the driver. The action will return the New Item ID so this can be used for further processing and the item is being locked. Therefore you need to build the logic to use this New Item ID value (you might/might not need to use Get Item Data). Do you get the idea?

Regards,

------------------------------
Zdeněk Kabátek
Head of Professional Services
NEOOPS
http://www.neoops.com/
Europe/Prague
------------------------------

Thanks @AndreyKudinov, i choose to increment a retry counter and loop through, instead of using the max attempts in the queue configuration, in that case i don't have the logs for each attempt, there are other issues?



------------------------------
Vrat Himbo
------------------------------