Suspending and Resuming Instances
Suspending and Resuming Process Instances
A BPMN process diagram defines how a process should work – but occasionally unexpected things (or users) happen, and a process takes the wrong path. Rather than terminating the process and starting again, Flows for APEX allows an administrator to suspend a running process instance, rewind the instance to a different position, and then resume process execution.
Editions: The Suspend, Rewind, Resume functionality requires the Flows for APEX Enterprise Edition.
Suspending a Process
A running process can be suspended from the instance actions menu in the flow monitor details page in the Flows for APEX application. You can optionally supply a comment, which is added to the event log.
Suspending the process instance puts the process instance into suspended
status. In addition, any subflows that were in running
status are changed to suspended
status.
When the instance is suspended
it has the following changed behavior:
- the process instance is in
suspended
state - any subflows that were previously
running
and nowsuspended
- any external call to
flow_complete_step
will be blocked. - any script task, service task or other PL/SQL execution task is allowed to complete its current, in-progress step, but does not proceed to the next task during suspension.
- any timer events are postponed until the process is resumed.
- any inbound message flow is queued until the process is resumed.
- the suspension is logged into the instance log if logging is enabled at
abnormal events
(level 2) or more detailed levels. - process rewind operations are enabled. (These are detailed below).
Note that you might need to de-select the filter on Subflow status to see all of the suspended subflows during suspension.
Resuming a Process Instance
A previously suspended process instance can be resumed by an administrator from the flow details page of the Flow Monitor in the Flows for APEX application.
Resuming the process returns the process instance to running
status. Suspended subflows return to running
state.
Specifically, when a process is resumed, the following occurs:
- the process instance status returns to
running
- any subflows in suspended state are returned to
running
- any subflows in
delete on resume
status are deleted - any subflows in
restart on resume
status are restarted - any suspended timers are restarted. Any overdue timer events now occur.
- any queued received message flow messages are processed
- the process is marked as having run with administrator intervention
- the resumption is logged in the instance event log if logging is enabled at
abnormal events
(level 2) or more detailed.