durable-workflow/workflow

Core package for defining and running durable workflows and activities. Supports long-running persistent workflows, retries, queues, parallel execution, workflow monitoring, dedicated storage connections, and orchestration for microservices, data pipelines, sagas, agentic workflows, and other complex business processes.

What it solves

Durable Workflow allows developers to write long-running processes as ordinary PHP code that can survive worker restarts, application deployments, and host failures. It prevents the loss of progress in complex workflows by recording completed work and resuming from where it left off without repeating completed activities.

How it works

The project provides an embedded runtime for Laravel that uses the application's existing queues, cache, and database for persistence. It records the execution history of workflows and activities, allowing the runtime to replay the code to resume execution after a failure. It can be deployed as an embedded Laravel package, a self-hosted server, or via a managed cloud service.

Who it’s for

PHP and Laravel developers who need to build reliable, long-running orchestration processes that require state persistence across restarts and failures.

Highlights

  • own persistence and queue execution within a single Laravel application
  • Support for timers, signals, queries, updates, child workflows, and sagas
  • Ability to resume execution without repeating completed activities
  • Flexible deployment options including embedded, self-hosted, and multi-language support (PHP, Python, Rust) via the SDK

Related

  • Project
  • Project
  • Project
  • Project
  • Project