Process Instance State
The state of a process determines what stage it has reached in the process. A process instance can have various states. The State column in Process Views indicates the process instance’s current state.
The following table describes the possible states and their meanings:
State | Description |
---|---|
pi_starting | This is a transitory state between the time a process instance start has been initiated and the actual starting of the process instance. The amount of time it takes to start a process instance depends on the amount of system resources available and the current load on the system. |
pi_started | The process instance has started. |
pi_completed | The process instance has been completed. |
pi_suspending | This is a transitory state between the time a process instance suspension has been initiated and the actual suspension of the process instance. The amount of time it takes to suspend a process instance depends on the amount of system resources available and the current load on the system. |
pi_suspended | The process instance has been suspended. |
pi_resuming | This is a transitory state between the time a process instance resume has been initiated and the actual resumption the process instance. The amount of time it takes to resume a process instance depends on the amount of system resources available and the current load on the system. |
pi_cancelling | This is a transitory state between the time a process instance cancel has been initiated and the actual cancellation of the process instance. The amount of time it takes to cancel a process instance depends on the amount of system resources available and the current load on the system. |
pi_active_while_cancelling* | The sub-process instance was active when its cancellation was initiated by a cancellation event handler, and is now waiting for the cancellation to complete. (There may also be compensation handlers that are reversing or undoing previously executed activities before the status can be changed to pi_cancelled.) |
pi_suspended_while_cancelling* | The sub-process instance was suspended while it was being cancelled by a cancellation event handler.
Typically, a sub-process instance has a state of pi_active_while_cancelling upon initiation of the cancellation event handler, but at that point you can suspend the sub-process instance with the intention of fixing a possible error before the sub-process instance changes to the pi_halted_while_cancelling state (see below). And of course, if the sub-process instance is suspended (and an issue resolved), it must be resumed so the graceful cancellation of the sub-process can continue to completion. |
pi_halted_while_cancelling* | The sub-process instance was halted due to a failure in the cancellation event handler business logic.
Typically, a sub-process instance has a state of pi_active_while_cancelling upon initiation of the cancellation event handler, but then may fail (for example, the handler cannot find an external resource or a dynamic sub-process), at which point its state changes to pi_halted_while_cancelling. If the state changes to pi_halted_while_cancelling, you can use one of the available functions to progress a halted process instance (for information about those functions, see Progressing Halted Processes), and ideally get back to a pi_active_while_cancelling state so that the graceful cancellation of the sub-process can continue to completion. |
pi_cancelled | The process instance has been cancelled. |
pi_halted | The process instance has halted. |
pi_failed | The process instance has failed. |