Order of Activity Execution in Process Instances at Scale

Dear Flowable Experts,

When SharedExecutorServiceAsyncExecutor is used by Flowable for async job execution, what is the expectation regarding the order in which the jobs are processed?
More specifically, in a stress scenario when process instances with asynchronous activities only (with no wait states) are started with relatively high frequency, would you rather expect:
a. each process instance to get a couple of activities executed at a cost of lower process instance completion rate or
b. process instances job execution for which has been started already to run until completion before the others are started?

Thank you!

Best,
Vasil

Hey @VasilTsimashchuk,

I think that answering the question is rather complicated. I think that the way that SharedExecutorServiceAsyncExecutor is implemented is what is happening under “b”. In order to achieve “a” you’ll need to implement your own async executor that would be able to handle this scenario.

Cheers,
Filip

1 Like