开发者文档 指南
任务与调度
任务生命周期:执行模式、阶段与进度、审批关卡、依赖、重试,以及 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 回填到任务记录。