Durable execution for PHP, Python, and Rust.
Durable Workflow keeps long-running application code moving through process restarts, retries, timers, and human input. Workflows and activities are written in ordinary application code while the runtime records history and resumes work without repeating completed steps.
Documentation | Sample App | Durable Workflow Cloud | Self-hosted Server
| Mode | Best fit | You operate |
|---|---|---|
| Durable Workflow Cloud | Managed orchestration for PHP, Python, and Rust applications | Your SDK clients and workers |
| Self-hosted Server | Language-neutral orchestration in your own infrastructure | Server, persistence, Waterline, and SDK workers |
| Embedded Laravel | Laravel applications that want the runtime inside the application boundary | Your Laravel application, queues, and database |
| Language | Guide and API reference | Source | Package |
|---|---|---|---|
| PHP | php.durable-workflow.com | sdk-php |
durable-workflow/sdk |
| Python | python.durable-workflow.com | sdk-python |
durable-workflow |
| Rust | rust.durable-workflow.com | sdk-rust |
durable-workflow |
The SDKs share workflow and activity type names, task queues, namespaces, and a portable Avro value protocol. A workflow in one language can dispatch an activity to a worker in another.
- Durable workflows and activities with retries, timeouts, and heartbeats
- Timers, schedules, signals, queries, and updates
- Child workflows, sagas, cancellation, and continue-as-new
- Namespaces, search attributes, memo, and workflow history
- Waterline for operational visibility and control
dwfor command-line operation
Start with the 2.0 documentation or open the Sample App for runnable embedded and service-mode examples.