Hello All,
I have a scenario where I am calling the process from web API, to get this completed faster I have added few flows in parallel using AND gateway and these paths has to complete to return the response from web API hence I have applied activity chaining on both the flows.
With this implementation I have observed that, even we are having parallel flows using AND, because activity chaining, only one path is executing first and then other is starting which delaying time of execution.
Why chaining is over-passing AND functionality here? Any thoughts on this?
Please find below example process.
Thanks!
Priyanka
Discussion posts and replies are publicly visible
Which Appian version is this? Since 24.4 activity chaining has no impact on the behaviour when using a!startProcess.
Logically, chaining can only really apply across one branch of an AND gateway.
Activity chaining requires a deterministic path. In a parallel flow, multiple paths execute simultaneously, and the system cannot predict which one will complete first, making chaining unpredictable or impossible.
Hi Stefan,Thanks for responding, this is 24.4.I have observed this on start process nodes only.
Hi Mike,This just example process I shared, in my scenario I need to call multiple integration to form the final response of web API. Hence I tried to call those integration in parallel flows with chaining.
So does this mean system wait to complete any one path and then goes to another path?
If so then AND gateway is not serving the purpose here isn't it?
I'm unclear what parallel flows buys you here when both flows are unattended. You may as well put all the items in sequence (especially since when the two flows are running in parallel, even if chaining worked there'd be no way to assure what order the nodes execute in, meaning you should be able to make the two paths sequential anyway).
No , it means that you won't be able to predict what it will happen.
And yes , you must avoid the use of an AND gateway in this case, try to implement it in a sequential flow
As others suggested here, its better to merge both parallel flows so they execute sequentially. Also try to keep the chaining till the node on which the parent process depends or expects output from, because activity chained nodes themselves can slow the performance/execution of process.