Restart subprocess from error event process


I have a process which receives as its input a number of items to operate on. This is subsequently sent to a parallel subprocess, which contains a call activity. Once the individual work on each item is done, the items are collected for final processing.

I see that I can use an error event subprocess within that call activity subprocess to capture and handle errors in each individual execution and make sure issues are handled However, once the event subprocess is complete, the call activity subprocess is ended.

Instead of continuing on, I would like to be able to restart the call activity from the beginning, as I’ve designed the process so that the individual steps are idempotent. I think I can accomplish this by throwing an error from the event subprocess to be captured outside of the call activity and use that to loop around, but I’m wondering if there’s a better way to handle this.

Thanks in advance!

Can you upload the model you’re created, it’ll be a lot easier to understand whats going on if i’m able to see it.

Here’s an example. Something very much like this is working as I’m expecting, I just don’t know if that’s the “correct” way.

I’m not sure if it completely solves the problem, but you could look into this example i did a while go.
It’s works by catching a BPMN error an then returning back to the task that threw the error using the Java API.

Thanks. Unfortunately we are using the engine as an unmodified standalone process engine for a mix of microservice external tasks and human tasks, so the Java API isn’t available to me. What I posted is accomplishing what I need, I just wasn’t sure if there was a cleaner way to do it in BPMN, but having a better understanding of scope and executions than I did when I started down this rabbit hole, I’m beginning to believe not. Thanks for your time!

1 Like