Life Cycle of failed service tasks

What happens to a failed Service Task when the application is restarted. Will it attempt to retry the Service task once again.

If not, how does the Process proceed. Is there a way to manually retry the Service task ?

I could see from Flowable API, that taskQuery lists only the UserTasks.

Hey @madhairsilence,

I see that you cross posted this to Stackoverflow here as well. Please do not do that, we are monitoring both channels.

To put the answer here.

In Flowable when an execution fail (due to some exception), the transaction would be rollbacked to the previous wait state in your workflow. This means that the next time it runs it would continue from there.

You can make a Service Task async which would make it a wait state. In that case an Async Job would be created and that would be retried (by default 3 times, but that is configurable). If the Service Task fails all the time (the configured number of retries) the job would be moved into the dead letter job and then you need to manually trigger it.

1 Like

hi. Yes. Not a cross post. I posted here yesterday but havent got any reply so, posted the same over there. fortunately I got an answer for that

Well I am the same person that gave the answer on StackOverflow :smile:.

Yeh its you :smiley: Thanks :wink:

Hey @filiphr How service tasks are triggered manually?
In Control we have option “Move Job” is that the one moves the dead letter jobs to executable jobs?

can you please help with this?

The dead letter job concept only applies if the service task is asynchronous. If it is, the service task will be retried a few times (default 3) before becoming a deadletter job.

Flowable Control (note: not open source) has indeed a move job functionality. There is a java API that does this: managementService#moveDeadLetterJobToExecutableJob or /management/deadletter-jobs/{jobId} if using the REST API.

1 Like