Skip to content

Task Flow

Task Flow 是位于后台任务之上的流程编排层。它管理带独立状态、修订追踪和同步语义的持久多步骤流程,而各个任务仍然是分离工作的基本单元。

什么时候用 Task Flow

当工作跨越多个顺序或分支步骤,且需要在 gateway 重启后保持持久进度追踪时,使用 Task Flow。单个后台操作用普通任务就足够了。

场景推荐方案
单个后台任务普通任务
多步骤流水线(A 然后 B 然后 C)Task Flow(托管)
观察外部创建的任务Task Flow(镜像)
一次性提醒Cron 任务

同步模式

托管模式

Task Flow 端到端拥有生命周期。它创建任务作为流程步骤,驱动它们到完成,并自动推进流程状态。

示例:每周报告流程,(1)收集数据,(2)生成报告,(3)投递。Task Flow 将每个步骤创建为后台任务,等待完成后进入下一步。

Flow: weekly-report
  Step 1: gather-data     → 任务已创建 → 成功
  Step 2: generate-report → 任务已创建 → 成功
  Step 3: deliver         → 任务已创建 → 运行中

镜像模式

Task Flow 观察外部创建的任务并保持流程状态同步,而不拥有任务创建权。当任务来自 cron 任务、CLI 命令或其他来源,而你想要统一查看它们的进度时非常有用——把它当成"龙虾的任务大屏"。

示例:三个独立的 cron 任务共同构成"早间运维"例程。镜像流程追踪它们的集体进度,而不控制何时或如何运行。

持久状态与修订追踪

每个流程持久化自己的状态并追踪修订,以便进度在 gateway 重启后保持。修订追踪支持冲突检测,当多个来源尝试同时推进同一流程时使用。

取消行为

openclaw tasks flow cancel 在流程上设置粘性取消意图。流程内的活跃任务被取消,不再启动新步骤。取消意图在重启后持久化,因此已取消的流程即使在所有子任务终止前 gateway 重启也会保持取消状态。

CLI 命令

bash
# 列出活跃和最近的流程
openclaw tasks flow list

# 显示特定流程的详情
openclaw tasks flow show <lookup>

# 取消运行中的流程及其活跃任务
openclaw tasks flow cancel <lookup>
命令说明
openclaw tasks flow list显示带状态和同步模式的已追踪流程
openclaw tasks flow show <id>按流程 id 或查找键检查单个流程
openclaw tasks flow cancel <id>取消运行中的流程及其活跃任务

流程与任务的关系

流程协调任务,而非替代任务。一个流程在其生命周期内可能驱动多个后台任务。用 openclaw tasks 检查单个任务记录,用 openclaw tasks flow 检查编排流程。

相关文档