Cancelling Partial Join for Multiple Instances

Hello!

I’m trying to implement Workflow Patterns | Patterns | Control - Cancelling Partial Join for Multiple Instances, but I can’t seem to find a way to do this in the Modeler.

Background: We have N Parallel Multi Instance tasks, and if any of them fail, all the remaining N-1 tasks must be canceled. We thought we could invert the logic for each of these tasks and then use a simple XOR merge, but the XOR merge would not cancel the evaluation of the remaining N-1 tasks.

Any suggestions would be welcome!

I think this might be solvable using the completionCondition child element?

A multi-instance activity ends when all instances are finished. However, it is possible to specify an expression that is evaluated every time one instance ends. When this expression evaluates to true, all remaining instances are destroyed and the multi-instance activity ends, continuing the process. Such an expression must be defined in the completionCondition child element.

You could use an interrupting conditional boundary event. Like this:

That’s a great idea! Thank you very much.