Hi All,
Asynchronous Start Process smart service runs as synchronously because sub process has activity chaining. Our question is old Start Process smart service runs synchronously as there is no option in earlier version, but newer version also runs same way then we have to Async sub process in that case. Any reason for this issue?
Using on premise Appian with 25.2
Thanks!
Discussion posts and replies are publicly visible
I'm not sure what you're asking exactly.
To clarify, the ONLY setting for the Start Process NODE originally was ASYNCHRONOUS. Meaning when the parent process reached that node, an asynchronous instance of the child process would be launched and run (on a distributed execution engine when relevant) and the parent process would move on instantly. Chaining did not play into this whatsoever.
If you're referring to the Start Process FUNCTION, however, that's different. The old behavior (and continued behavior of the "old version" of the function, which can still optionally be used), was that the launched process would execute in a synchronous style, following activity chaining until the first break, and then execute the "completion saves".
If you want more accurate answers though, i'm afraid you'll need to specify which thing you're referring to, because you're using terms interchangeably for two different things that have different behaviors and different configurations.
I am referring specifically to the Start Process smart service within the process model. Although this smart service is configured as Asynchronous, it still takes around 10 seconds to complete because it appears to wait for the child process to finish execution.
Note: The child process used here is activity‑chained, as it is reused across multiple processes.
We were able to resolve the issue by switching to the Asynchronous Sub‑Process smart service. However, the question remains: Why does the Async Start Process smart service not behave in the same non-blocking manner?
Shantanu Bhowmick said:Although this smart service is configured as Asynchronous, it still takes around 10 seconds to complete because it appears to wait for the child process to finish execution.
That's a valid point - if this is true I expect you're experiencing the legacy functionality similar to how the original Function version of Start Process would wait for internal chaining to complete. I'm not clear whether this is the current expected behavior according to Appian or a legacy corner case.
An easier workaround than just reverting to "Legacy Subprocess" nodes (which Appian seems to be moving away from) might be to pass in an optional value to the child process to indicate instances where it should execute asynchronously, and in those cases, break chaining (i.e. a dedicated output of an XOR gateway where the chain is intentionally broken).
At the same time, you might raise this issue with Appian to see whether it is really still the intended behavior even with the newest Start Process nodes. (But if possible, you might consider double-checking first, and using a brand new copy of the Start Process node configured with the same child process, to see whether the behavior persists (just to make sure you're not accidentally using a more "legacy" version than you assume).