Preventing Scheduled Process Models from kicking off multiple instances after system downtime?

Certified Senior Developer
Does anyone have any recommended approaches to preventing a process model that runs on a recurring schedule from kicking off multiple instances after the system is down when it was scheduled to run? We have some processes that run nightly, but can create race-conditions if multiple instances try to run simultaneously.

Thinking about maybe putting in an "Advanced Options" Expression to force it to actually be the scheduled start time (or at least close), and just bypassing running until the next scheduled time that Appian is actually up on the server. Would that do the trick?

OriginalPostID-254265

  Discussion posts and replies are publicly visible

Parents
  • 0
    Certified Senior Developer
    The trouble with using the DB is if two or more instances start simultaneously, there is still a race condition (since querying and writing are two separate transactions). But that might be a good use case for the locking mechanism / @Version annotation detailed in the above link.

    mschmitt - what was your SQL 'trick'? We do have the Execute Stored Procedure plugin installed, so doing an SP might be one way to accomplish a single transaction read+write.
Reply
  • 0
    Certified Senior Developer
    The trouble with using the DB is if two or more instances start simultaneously, there is still a race condition (since querying and writing are two separate transactions). But that might be a good use case for the locking mechanism / @Version annotation detailed in the above link.

    mschmitt - what was your SQL 'trick'? We do have the Execute Stored Procedure plugin installed, so doing an SP might be one way to accomplish a single transaction read+write.
Children
No Data