Skip to main content

Process lifecycles

In Zeebe, the process execution is represented internally by events of type ProcessInstance. The events are written to the log stream and can be observed by an exporter.

Each event is one step in a process instance lifecycle. All events of one process instance have the same processInstanceKey.

Events which belongs to the same element instance (e.g. a task) have the same key. The element instances have different lifecycles depending on the type of element.

(Sub-)Process/Activity/Gateway lifecycle​

activity lifecycle

Event lifecycle​

event lifecycle

Sequence flow lifecycle​

sequence flow lifecycle

Example​

order process

Given the above process a successful execution will yield the following records in the commit log:

IntentElement idElement type
ELEMENT_ACTIVATINGorder-processprocess
ELEMENT_ACTIVATEDorder-processprocess
ELEMENT_ACTIVATINGorder-placedstart event
ELEMENT_ACTIVATEDorder-placedstart event
ELEMENT_COMPLETINGorder-placedstart event
ELEMENT_COMPLETEDorder-placedstart event
SEQUENCE_FLOW_TAKENto-collect-moneysequence flow
ELEMENT_ACTIVATINGcollect-moneytask
ELEMENT_ACTIVATEDcollect-moneytask
ELEMENT_COMPLETINGcollect-moneytask
ELEMENT_COMPLETEDcollect-moneytask
SEQUENCE_FLOW_TAKENto-fetch-itemssequence flow
.........
SEQUENCE_FLOW_TAKENto-order-deliveredsequence flow
EVENT_ACTIVATINGorder-deliveredend event
EVENT_ACTIVATEDorder-deliveredend event
ELEMENT_COMPLETINGorder-deliveredend event
ELEMENT_COMPLETEDorder-deliveredend event
ELEMENT_COMPLETINGorder-processprocess
ELEMENT_COMPLETEDorder-processprocess