How can I prevent multiple users from accessing the same related action?

Hello:
Does anyone have a solution for how to avoid 2 users simultaneously triggering the same related action on the same record (assuming the related action would overwrite the record values).
We need a mutex solution, but I am not sure how to do this in Appian except through a database solution. Does anyone know of a mutex solution out-of-the-box in Appian?

OriginalPostID-215481

OriginalPostID-215481

  Discussion posts and replies are publicly visible

Parents
  • For pessimistic locking, we implemented a solution where each related action had a timer (~10 minutes) and was configured as a quick task. This meant that if a user started a related action, no one would be able to perform the relation action.

    The exact mechanism that kept other users out was using a!queryProcessAnalytics and filtering on the rp!id to see if any related actions had been started and were still active for that specific record. If they had been started, the user would be directed to a form with a shorter timer to tell them that the record was currently being updated.

    For more complex related action interactions (let's say you want to be able to always do actions A and B, but C and D are exclusive) you can filter on the type of process model/ active task and the rp!id to determine the path of the XOR and lock users out.
Reply
  • For pessimistic locking, we implemented a solution where each related action had a timer (~10 minutes) and was configured as a quick task. This meant that if a user started a related action, no one would be able to perform the relation action.

    The exact mechanism that kept other users out was using a!queryProcessAnalytics and filtering on the rp!id to see if any related actions had been started and were still active for that specific record. If they had been started, the user would be directed to a form with a shorter timer to tell them that the record was currently being updated.

    For more complex related action interactions (let's say you want to be able to always do actions A and B, but C and D are exclusive) you can filter on the type of process model/ active task and the rp!id to determine the path of the XOR and lock users out.
Children
No Data