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.
*Sub-processes instances can be cancelled in a "cascading" fashion, which causes them to be cancelled from the "bottom up". This is done using a "cancellation event handler." When cancelled in this way, the sub-process instances can take on one of the following states as described above. For more information about cancellation event handlers, see the TIBCO Business Studio Modeling User's Guide.
  • pi_active_while_cancelling
  • pi_suspended_while_cancelling
  • pi_halted_while_cancelling