Workflow engine
computeworkflow-engine
Durable orchestration of multi-step processes with retries and compensation.
- Category
- Compute
- Properties
- 6
- Components
- 45
- Rules
- 1
A node of this kind resolves each property from its own props, then the component's defaults, then the default below.
| property | type | values | required | default |
|---|---|---|---|---|
| compensation | boolean | — | no | false |
| durable | boolean | — | no | true |
| humanReview | boolean | — | no | false |
| managed | boolean | — | no | false |
| pattern | enum | saga | tcc | two-phase-commit | dag | no | dag |
| stepsIdempotent | boolean | — | no | false |
stateful-node-without-zone-redundancy
A stateful compute node pinned to exactly one availability zone disappears with that zone, and its state goes with it. Nodes inside a cell are exempt, because there the cell is deliberately single-zone and redundancy comes from the other cells.
- — all of these hold:
- — the node's `stateless` is false
- — the node sits inside exactly 1 availability-zone group
- — this does not hold:
- — the node sits inside at least one cell group
vendor-neutral
aws
cloudflare
default
Apache AirflowairflowArgo Workflowsargo-workflowsAstronomer AstroastronomerCadencecadenceCamunda 8camundaConductorconductorDagsterdagsterDigdagdigdagFlowableflowableInngestinngestjBPMjbpmKestrakestraLuigiluigin8nn8nNode-REDnode-redPrefectprefectPrefect Cloudprefect-cloudRestaterestateTemporaltemporalTemporal Cloudtemporal-cloudTrigger.devtrigger-devWindmillwindmillWorkatoworkatoZapierzapier
gcp
oci
# yaml-language-server: $schema=../schema/kind.schema.json # Abstract kind: Durable orchestration of multi-step business processes with retries and compensation (Cadence, Temporal, Step Functions). schemaVersion: "1" type: "kind" id: "workflow-engine" category: "compute" properties: durable: type: "boolean" default: true pattern: type: "enum" values: ["saga", "tcc", "two-phase-commit", "dag"] default: "dag" stepsIdempotent: type: "boolean" default: false compensation: type: "boolean" default: false humanReview: type: "boolean" default: false managed: type: "boolean" default: false