We have a process model which gets triggered by two different role users for same data . Both of them executes the process model with a split of second gap. Due to this, the first time process model will be running and second time also gets triggered for the same data, as the first one completes the second time process model fails and we have configured mails getting triggered for failed process model, so generating mails.
Do we have a way where when process model is running for a certain data and second user triggering the same process model for same data should not get error or second time the process model for same data should not get triggered.
I think I know what is happening. You have process coming into a sub-process node that runs twice, and 2 synchronous processes that when they end go to the end node (they may have a few automated tasks in between subprocess and end node)? Does that section of your PM look something like this crude ascii art?:
---[ ,, ]-------------O
If that's your issue, you have 2 solutions.
1. You can configure the MNI to not move on until all instances are done.
2. Preferred because it's more explicit and readable: use an AND gateway to split the process flow in half, use 2 separate sub-process nodes that call the same process synchronously once each, one for one role and the other for the other role, and the outflows from those joined by another AND gateway. The AND gateway is forced to wait until both complete before it proceeds.
Either method will prevent the parent process from completing after one is done killing the slower one midway through, but requires both to be completed before terminating the parent process.
If it's at all possible to choose asynchronous instead, that would be preferable for the sake of your execution engines and likely also solve your problem.
Discussion posts and replies are publicly visible
© 2020 Appian. All rights reserved.