Skip to main content

What is a Workflow Execution?

A Workflow Execution is a Reentrant Process; that is, a resumable, recoverable, and reactive process:

  • Resumable: Ability of a process to continue execution after execution was suspended on an await-able.
  • Recoverable: Ability of a process to continue execution after execution was suspended on a failure.
  • Reactive: Ability of a process to react to external events.

A Workflow Execution has exclusive access to its local state, executes concurrently to all other Workflow Executions, and can communicate with other Workflow Executions using Signals.

A Workflow Execution is either Running or Closed. When a Workflow Execution is Running, it is either actively progressing or suspended, awaiting on something.

Workflow Execution Running status

Workflow Execution Running status

A Closed status means that the Workflow Execution has finished progressing, and has either Completed successfully, Continued As New, Failed, Timed Out, been Cancelled, or Terminated.

Workflow Execution statuses

Workflow Execution statuses

A Workflow Execution is uniquely identified by its Namespace, Workflow Id, and Run Id.

The Workflow Id can be used to create a 1:1 mapping between a Workflow Execution and some other resource, such as a customer Id, order Id, or host Id.