Temporal 是一个持久化执行平台,服务端可可靠地运行工作流并自动重试失败的操作。
- Star
- 1,667
- Fork
- 116
- 未关闭 Issue
- 8
- 最近提交
- 4天前
这是什么?
DBOS Transact 是一个开源的 Python 库,用于构建可持久化的工作流。开发者只需用装饰器将普通函数标记为工作流和步骤,库会把执行进度存入 Postgres。进程崩溃或重启后,工作流会从最后完成的步骤继续执行,而不是从头开始。
库中还包含基于 Postgres 的持久队列、定时调度和通知功能。从工作流中投递的任务即使遇到中断也能保证执行完成,并把结果返回给调用方。队列支持并发限制、速率限制、超时、去重和优先级设置。通过 cron 表达式可以定时触发工作流,持久化的 sleep 则允许工作流等待数天甚至数周。
整个系统不需要额外的编排服务、消息代理或队列服务,唯一的基础设施依赖是 Postgres 数据库。工作流以记录形式存放在 Postgres 中,可通过客户端 API 查询、暂停、恢复,或从指定步骤分叉重跑。
核心功能
- 01将工作流和步骤状态存入 Postgres,进程故障后可自动恢复。
- 02提供持久任务队列,支持并发限制、速率限制、超时、去重和优先级。
- 03支持 cron 定时调度和重启后仍然有效的持久 sleep。
- 04支持持久通知和事件,可让工作流暂停直到收到消息。
- 05提供客户端 API,用于查询、暂停、恢复和从指定步骤分叉工作流。
适用场景
- 即使服务器在操作中途崩溃也必须完成的支付或订单处理。
- 需要从检查点恢复而非重新开始的长时间数据管道。
- 调用不稳定或非确定性 API 的 AI 智能体。
- 在后台以恰好一次的语义处理 webhook 或 Kafka 消息。
快速上手
- 1
按照快速入门指南安装该库并连接到 Postgres 数据库
- 2
使用 @DBOS.workflow() 和 @DBOS.step() 为函数添加注解,使其具备持久性
使用前须知
- 需要 Postgres 数据库来存储工作流状态。
- 这是一个仅支持 Python 的库,不支持其他语言。
收录于专题
标签
常见问题
- dbos-transact-py 是什么?
- 一个 Python 库,用 Postgres 为程序添加可持久化的工作流和任务队列。 DBOS Transact 是一个开源的 Python 库,用于构建可持久化的工作流。开发者只需用装饰器将普通函数标记为工作流和步骤,库会把执行进度存入 Postgres。进程崩溃或重启后,工作流会从最后完成的步骤继续执行,而不是从头开始。
- dbos-transact-py 可以免费使用吗?用的什么许可证?
- dbos-transact-py 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- dbos-transact-py 还在维护吗?
- 活跃维护中。dbos-transact-py 最近一次提交是在 2026年11月4日。
- dbos-transact-py 适合用来做什么?
- 即使服务器在操作中途崩溃也必须完成的支付或订单处理。 需要从检查点恢复而非重新开始的长时间数据管道。 调用不稳定或非确定性 API 的 AI 智能体。 在后台以恰好一次的语义处理 webhook 或 Kafka 消息。
- dbos-transact-py 怎么安装和运行?
- 按照快速入门指南安装该库并连接到 Postgres 数据库 使用 @DBOS.workflow() 和 @DBOS.step() 为函数添加注解,使其具备持久性
- 在哪里获取 dbos-transact-py?
- 源代码和安装说明在 GitHub 上:https://github.com/dbos-inc/dbos-transact-py
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
2.4万+139 本周2073GoMIT维护活跃更新于 22小时前
面向后台任务、AI 智能体和持久化工作流的编排引擎,支持 Python、TypeScript、Go 和 Ruby。
8235+30 本周535GoMIT维护活跃更新于 22小时前
基于 Postgres 的 Python 持久化后台工作流库,任务可在服务重启或崩溃后恢复,无需额外基础设施。
875RustMIT更新于 18小时前
开源的持久化执行引擎,用于编排微服务、AI Agent 和自适应工作流图,支持多语言 Worker。
3.2万+32 本周1061JavaApache-2.0更新于 23小时前
Python 工作流编排框架,可将脚本升级为带调度、重试、缓存和事件自动化的生产级数据管道。
2.4万+21 本周2635PythonApache-2.0更新于 22小时前
Restate 是一个用于构建高可靠应用的平台,通过持久化执行、可靠通信和一致状态抵御基础设施故障。
4671+44 本周232RustOther更新于 22小时前