workflow

用 PHP 写长流程,断了也能接着跑

这是一个 PHP 生态的持久化工作流引擎核心包,主要面向 Laravel 应用。它解决的问题是:传统队列和异步任务在进程重启、服务宕机或长时间等待后容易丢失状态,导致订单超时、支付回调、数据管道等长流程难以可靠完成。项目通过持久化执行(durable execution)机制,把工作流每一步的状态写入专用存储连接,即使服务中断也能从断点恢复。核心能力包括:定义和运行长时间运行的工作流与活动(activity)、自动重试、队列调度、并行分支执行、工作流实时监控、独立存储连接,以及面向微服务、数据管道、Saga 事务和 AI Agent 工作流的编排能力。开发者可以用接近普通 PHP 代码的方式描述复杂业务流程,由引擎负责状态持久化、失败恢复和并发控制,适合需要高可靠性的后端业务系统。

开源 unknown 自动化工作流
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1244
维护状态 活跃
是否开源
定价模式 unknown

项目数据

分类自动化工作流
开发团队durable-workflow
所属国家
定价模式unknown
价格说明定价信息待确认
访问状态
是否开源
开源协议MIT
主要语言PHP
技术栈/模型background-jobs,bpm,bpmn,durable-execution,durable-functions,durable-workflow,jobs,laravel,microservices,orchestration,php,queueing,saga-pattern,workflow,workflow-automation,workflow-engine,workflows
GitHub 星标★ 1244
30天Star增速
HF 下载量
上线时间2022-02-25 00:00:00
最近更新2026-09-15 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-09-14
浏览次数1

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 4 步

环境要求

  • 已有一个 Laravel 应用(本包为 Laravel 嵌入式运行时)
  • 安装 Composer 与 PHP 运行环境
  • 数据库可连接(php artisan migrate 需要写入持久化表)
  • 配置好 Laravel 队列驱动(可跑 php artisan queue:work 或 Horizon)

安装与启动步骤

  1. 1引入工作流包

    在 Laravel 项目根目录用 Composer 安装 durable-workflow/workflow 2.x 版本,安装后代码即可使用该包提供的运行时能力。

    composer require durable-workflow/workflow:^2.0
  2. 2创建持久化数据表

    执行 Laravel 迁移,建立工作流状态所需的持久化表,这是断点恢复的基础。

    php artisan migrate
  3. 3选择部署方式

    嵌入式由本应用负责存储与队列;自托管 Server 需另运维 MySQL、Redis;Cloud 为托管运行时。README 提示迁移到 Server/Cloud 不会改变已有嵌入式历史。

  4. 4启动队列 worker

    运行 Laravel 队列 worker(或使用 Horizon)来实际执行工作流与活动,需保持进程常驻。

    php artisan queue:work

如何确认成功

运行 php artisan queue:work 后进程正常驻留不报错,且迁移成功生成了工作流相关数据表。

常见问题

Q:必须安装 Durable Workflow Server 吗?

A:不必。嵌入式 Laravel 模式下工作流和活动直接运行在你的 Laravel 应用内,由应用自己负责持久化与队列执行,无需额外部署 Server。

Q:为什么必须跑 queue:work?

A:README 明确说明工作流与活动由 Laravel 队列 worker 或 Horizon 执行,只安装包而不启动 worker,任务不会被消费执行。

Q:以后想换到 Server 或 Cloud 会不会影响已有任务?

A:README 说明把新工作迁移到 Server 或 Cloud 不会重新解释已有的嵌入式历史,两者可并存。

Q:支持 PHP 之外的语言吗?

A:自托管 Server 与 Durable Workflow Cloud 支持独立 worker,Cloud 可用于 PHP、Python 和 Rust worker;嵌入式模式仅限 Laravel 应用。

注意事项

  • 本包是库/运行时而非独立服务,必须挂在已有 Laravel 项目中安装。
  • README 未给出配置项、端口或环境变量说明,若需调优请参考官网 durable-workflow.com。
  • 生产环境建议用 Horizon 或进程守护工具保证队列 worker 长时间存活。

核心亮点

  • 支持持久化执行,进程重启或宕机后工作流可从断点恢复,不会丢状态
  • 内置重试、队列、并行执行和监控,复杂编排不用自己造轮子
  • 专为 Laravel 设计,API 贴近原生 PHP 开发习惯,接入成本低

不足之处

  • 强依赖 Laravel 生态,非 Laravel 的 PHP 项目接入困难
  • 项目星标约 1.2k,社区规模和第三方教程相对有限,文档待持续完善

适用场景

  • 电商订单超时取消与支付回调的长时间状态流转
  • 微服务之间的 Saga 分布式事务编排与补偿
  • 数据管道或 AI Agent 多步骤任务的可靠调度与重试

替代项目

Temporal、Laravel Horizon、Symfony 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.。项目使用 PHP 开发,在 GitHub 上获得 1242 星标。

上一篇:gawkbot

下一篇:subforge

同类项目推荐

n8n 开源

拖拽搭建自动化流程,轻松接入 AI 与 400+ 应用,搞定重复工作。

Fair-code workflow automation platform with native AI capabilities. Combine visual b···

★ 204578 2026-08-10
robotcode 开源

让 Robot Framework 拥有现代 IDE 体验,调试、补全、运行一气呵成。

Open Source Toolkit for Robot Framework, providing Language Server Protocol support,···

★ 299 2026-08-10
puppeteer 开源

用 JavaScript 轻松操控无头浏览器,搞定自动化测试与网页抓取。

JavaScript API for Chrome and Firefox

★ 95585 2026-08-10
customermates 开源

比 Pipedrive 直观 10 倍的现代开源 CRM,轻松管理客户与自动化流程。

Building a modern alternative to Pipedrive that is 10x more intuitive.

★ 227 2026-08-10