Terminate process model after n- minutes

Hi Team,

We have a scenario where Process Model 1 calls Sub‑Process Model 2 in synchronous mode. Sub‑Process Model 2 contains Process 2.1 and Process 2.2.
Normally, these complete within expected time, but if Process Model 2 runs longer than 15 minutes, we want to:
- Terminate Sub‑Process Model 2.
- Mark it as completed so it doesn’t remain in an in‑progress state.


Essentially:
- Process Model 1 (synchronous) → Process Model 2.1 & 2.2.
- If execution exceeds 15 minutes, enforce a timeout, terminate, and mark complete.


Question to the Community:
- What is the recommended way to implement this timeout/termination logic in Appian?
- Is there a best practice for handling long‑running synchronous sub‑processes (e.g., timers, escalation paths, or design patterns)?

Error "The amount of time allocated for the completion of an unattended activity was insufficient to allow the activity to complete."

  Discussion posts and replies are publicly visible

Parents
  • 0
    Certified Lead Developer

    In the "handler" subprocess ("Model 2" in your example from what I can tell), one of the easiest ways to do this will be to use an AND gateway to create a parallel secondary flow that rests on a timeout timer, and if that timer expires prior to the two (2.1 and 2.2) subprocesses completing normally, set an error condition and terminate, in which case the parent process can observe the value of the passed-back error variable (can just be text containing your error message, etc) and take action based on that.

    e.g.

  • Should this be handled with an “OR” condition in the process flow?

    For example, if the sub‑process runs longer than 15 minutes and gets stuck, while the first flow is still waiting to complete, how should we design the logic so that the system doesn’t remain blocked?

Reply Children