Scenario 1: Timer Interrupt Event Set to False (Default):
- In this scenario (the default), the timer boundary event is simply ignored if the task is completed beforehand. The process flow continues as usual, following the sequence flow after the user task.
- This is because with the timer interrupt event set to
false
(default), the timer doesn't interrupt the ongoing task execution. If the task finishes before the timer fires, there's nothing to interrupt.
Scenario 2: Timer Interrupt Event Set to True:
- If you've configured the timer interrupt event to
true
, the timer boundary event can still have an effect even if the task is completed early. - Here's what happens:
- When the timer fires, it attempts to interrupt the task execution.
- However, since the task is already completed, there's no ongoing execution to interrupt.
- Flowable doesn't take any further action on the timer boundary event in this case. The process flow continues as usual after the user task (assuming it completed successfully).
In essence, the completed task takes precedence over the timer boundary event, regardless of the interrupt setting.
Additional Considerations:
- If you have additional logic or actions defined within the script attached to the timer boundary event (besides task completion), those actions won't be executed if the task finishes first.
- It's generally recommended to keep the timer interrupt event set to
false
(default) for auto-completion scenarios. This ensures the timer doesn't interfere with the normal task completion flow.
Here's a summary table:
Timer Interrupt Event | Task Completed Before Timer Fires | Behavior |
---|---|---|
False (Default) | Ignored | Process flow continues after user task. |
True | Timer attempts to interrupt, but task is already completed. | No further action on timer event. Process flow continues after user task. |