I’ve build a process which contains a subprocess and this subprocess has 2 service tasks. I’ve defined the subprocess as a parallel multi instance.
When I run the process, I see that when it gets to the subprocess, it first executes the first task in parallel (so for all instances)before it moves to the second task and executes this in parallel.
So the second task of the subprocess is waiting untill all the instances of the first task are finished.
Is there a way to tell the subprocess that the second task can be executed as soon as the first task in his instance is finished?
I’m assuming the service tasks in you subprocess asynchronous? If so the behavior you are seeing could simply be the result of job queueing. There are a limited number or workers to execute asyc tasks, and each one will pull the next job from the job queue. All of the instances of
service task 1 would be queued at the about same time, while each instance
service task 2 would only be queued after its respective
service task 1 was completed.
Thanks for the explanation and pointing me in the right direction.
I could get my desired behaviour by putting the transaction (and not the tasks) as asyc and changing the properties of asyc executor.
In the Flowable Modeler, it’s possible to check the asyc box on the transaction (subprocess) but when I downloaded the xml, the asyc properties was not set.
Is this behaviour intended? Or maybe a small bug?
It seems like this hasn’t been added to the Modeler yet indeed.
So just to make sure: you added flowable:async=‘true’ to the subprocess?
Yes, I’ve added the flowable:async=“true” to the transaction (subprocess)