Runner Modes Overview¶
This section describes the two modes of execution of the Runner and how they provide different types of execution.
Workflow Mode¶
Workflow Mode is the default runner execution model. The machine runner agent connects to DRP, requests the next task by creating a Job via the DRP API, executes the task locally, reports the result, and requests the next task. This request-execute-report cycle repeats for every task in the workflow.
DRP remains in control of task sequencing at all times. Each task is tracked as a Job object with its own log and exit status. DRP can inspect machine state between every task — parameters set by one task can influence subsequent task selection, classification stages can redirect the machine to a different workflow mid-execution, and operators can pause, retry, or redirect machines at individual task granularity.
Workflow Mode is used for building machines through provisioning pipelines. All DRP content packs, Pipeline Elements, and the universal workflow system use Workflow Mode.
Work Order Mode¶
Work Order Mode removes workflows from the execution model entirely. Instead of a workflow, a Work Order contains the task list to be executed — either as a direct task list or as a Blueprint reference that expands to a task list. The runner pulls the next Work Order when the current one completes, allowing Work Orders to be queued and represent pending work.
Unlike Workflow Mode, no chaining occurs between Work Orders. The runner simply processes the queue. Work Order Mode is designed for actions that are not part of building a machine — operational tasks, audits, remediation actions, or any work that should be queued independently of the machine's provisioning lifecycle.
Key differences from Workflow Mode:
- Work Orders replace workflows — no Workflow object is involved
- No stage chaining or
universal-chain-workflowtask - Work Orders can be queued; the runner drains the queue
- Pipelines are not used in Work Order Mode