开发者文档 指南

任务与调度

任务生命周期:执行模式、阶段与进度、审批关卡、依赖、重试,以及 cron 定时运行。

生命周期

每次运行都是一个任务实例,沿固定状态集流转。运行期间,阶段与进度实时流向项目看板:

状态含义
pending已创建,等待派发——依赖可能仍在运行
running已派发到项目沙箱;阶段与进度实时回报
pending_approval停在审批关卡,等待人工处理
success完成;返回结果随执行日志存储
failed出错;error_message 记录失败原因

执行模式

元任务定义其运行方式。script 模式以 300 秒预算运行你的入口函数;agent 模式把运行交给绑定的 agent,在项目工作区沙箱内工作,经同一阶段/进度通道回报:

模式运行方式适用
script沙箱内的 Python / TypeScript run()确定性工作:报表、同步、编排
agent工作区对话中的绑定 agent开放性工作:分诊、评审、重构

审批关卡

需要人来决策时,运行会停在 pending_approval。agent 任务通过自身的 ask_user_question 到达这里——问题落在任务对话里,你的回复就是 agent 的下一轮输入。脚本任务通过子任务到达:子任务设卡时,用 feedback() 回应:

def on_feedback(task):
    feedback(task["id"], "没问题——部署到 staging。")

result = wait_task(tid, on_feedback=on_feedback)

依赖

任务可以声明依赖同项目的其他任务。依赖方保持 pending,直到所有上游成功后自动派发。上游失败会让依赖方继续停留——重试上游,或移除依赖边。

重试与失败

  • 派发类抖动会自动重试(最多 5 次),之后才标记失败
  • 失败运行保留 error_message;从看板重试后进度清零重来
  • 配额与配置问题会快速失败,原因记录在任务上

定时运行

Cron 按计划运行元任务。一条 cron 绑定元任务、cron 表达式与固定参数;调度器每隔几秒轮询到期任务,把每次运行作为普通任务实例派发到看板:

字段用途
任务类型要运行的元任务
cron 表达式标准五段式 cron 语法
params合并进每次运行的固定参数
enabled暂停计划而不删除

Git 集成运行

当任务的工作区绑定了 GitLab 仓库,每次运行会隔离在自己的分支(task-{id})上:平台检出 worktree,任务完成工作,成功后推送分支并自动创建 merge request——MR URL 回填到任务记录。