Automatic Process resubmit on Failure

In our project we have a BPM process with task steps that often fails at the task step due to Read Timed Out
on queueTask. This only happens at peak load and in most cases resubmitting the process after sometime make it run fine.

We want to automate this process, such that if the Process Failes at a Task Step with error “Read Timed Out” , it should automatically try to resubmit after a fixed interval ( set by us ) .

What is the best way to achieve this ?? Any suggestions/pointers would be useful .

Hi Palash,

Every task step will have a corresponding Queue Task service (eg. QueueTask). This service will have a call to “pub.task.taskclient:queueTask”. You can put retry mechanism around this service in case of transient errors.

Having said that, you should really concentrate on the root cause of the time out issue. It may be the case that TaskEngine is not able to handle the load and from experience, we have noticed that as the number of tasks and users increase, there will be more failures.

You can look for some optimization and may be even MWS clustering.

Or, if you want to keep this login inside the BPM model, have a timeout interrupting event on that task which cycles back through a “delay” task.

Or, you can also have this task “loop” a certain number of times.

Beware that any code you may write inside the auto-generated service could be lost when you upload a new version of the BPM model.