开发者文档 SDK
任务 API
创建、等待、编排项目任务,并回应审批关卡——任意脚本可用的编排原语。
Python
create_task(identifier, ...) 派生任务实例;其余方法用于观察与编排:
| 方法 | 说明 |
|---|---|
| create(identifier, options) | 派生任务;wait=true 时阻塞到落定 |
| wait(task_id, timeout=300, poll_interval=2, on_feedback) | 阻塞到落定并返回带 "result" 的任务 dict |
| feedback(task_id, message) | 回应停在 pending_approval 的子任务 |
| flush(timeout=300) | 退出前汇合后台 on_complete 线程 |
| list(status?, limit=50, offset=0) | 列出任务——按状态筛选:pending / running / success / failed / pending_approval / rejected;limit 上限 200 |
| get(task_id) | 单个任务的非阻塞快照,完成时附带 result |
from workflow import create_task, wait_task, feedback, flush_tasks
tid = create_task(
"summariser",
params={"url": "https://example.com"},
on_feedback=lambda task: feedback(task["id"], "deploy to staging"),
)
result = wait_task(tid, timeout=600)
flush_tasks()| 选项 | 默认 | 说明 |
|---|---|---|
| identifier | 必填 | 元任务标识,必须属于同一项目 |
| name | {identifier}-{timestamp} | 看板显示名 |
| params | {} | 匹配元任务参数 schema 的值 |
| wait | False | 阻塞到任务落定并返回结果 |
| timeout | 300 | wait / 回调的最长秒数 |
| poll_interval | 2 | 状态轮询间隔(秒) |
| on_complete / on_error | None | 落定 / 失败回调(后台线程);未提供回调时错误被静默忽略 |
| on_feedback | None | 每次进入 pending_approval 时调用;task["current_phase"] 携带问题或审批上下文 |
| show_in_kanban | 服务中 False | 是否出现在看板 |
| workspace_slug | None | 在指定工作区运行 |
TypeScript
createTask(identifier, options) 镜像同一契约:
const tid = await createTask("summariser", {
params: { url: "https://example.com" },
onFeedback: (task) => feedback(task.id, "deploy to staging"),
});
const result = await waitTask(tid, { timeoutMs: 600_000 });
await flushTasks();| 选项 | 默认 | 说明 |
|---|---|---|
| name | {identifier}-{timestamp} | 看板显示名 |
| params | {} | 匹配元任务参数 schema 的值 |
| wait | false | 阻塞到任务落定并返回结果 |
| timeoutMs | 300000 | wait / 回调的最长毫秒数 |
| pollIntervalMs | 2000 | 状态轮询间隔(毫秒) |
| onComplete / onError | — | 落定 / 失败回调;未提供回调时错误被静默忽略 |
| onFeedback | — | 每次进入 pending_approval 时调用;task.current_phase 携带问题或审批上下文 |
| showInKanban | 服务中 false | 是否出现在看板 |
| workspaceSlug | 元任务默认值 | 在指定工作区运行 |