Automate retry events

Hi Team, @Yana, @Niall

I really appreciate if someone can guide and help me here.

I have a process that makes multiple rest service calls, on failure/downtime of any of the REST service, I have configure it to retry with expressions (R3/PT3S).

I was wondering on how to handle the situation when the REST service is unavailable due to maintenance and all the running jobs during that period fails.

I tried using the “Get Incidents” (Get Incidents | docs.camunda.org) for fetching all the failed instances and using “Set Job Retries” (Set Job Retries | docs.camunda.org) API for retrying, but what I have noticed that the token does not move along the workflow process path, even after updating the number of retries.

Goal - The main process will call upon another process when it has failed jobs/incidents due to eternal service unavailability

The called process will use REST APIs to resolve(update retries) the failed jobs/incidents

I have attached a sample BPMN for references.

Thanks in Advance

  • Prateek

Hi @Ingo_Richtsmeier, @Yana and @Niall

I have a similar requirement and currently stuck, please help.

Thanks and Regards,
Utjal

The first thing you should probably know is how to deal with services that you know will be down for a specific amount of time.
You can suspend a particular point of your process (assuming you have a transaction boundary there) which means tokens will get to the point of the process without any problems but will wait there without executing the business logic of the task. You can read more about it in the docs.

If you’ve gotten to the point where you have a bunch of jobs that all need to have the retries increased you should probably use the Set Job Retreis Async rest call instead. What should happen next is that a batch will be created that will set the retries and once that’s successful the job executor should pick up the jobs

Hi @Niall,

Thank you for your reply.
Instead of using REST APIs, i wanted to used JAVA APIs. I recently made a post where i learnt about the managementService#setJobRetries method. Would that be a good alternative to the APIs you suggest?

Thanks
Prateek