开发者文档 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 的值
waitFalse阻塞到任务落定并返回结果
timeout300wait / 回调的最长秒数
poll_interval2状态轮询间隔(秒)
on_complete / on_errorNone落定 / 失败回调(后台线程);未提供回调时错误被静默忽略
on_feedbackNone每次进入 pending_approval 时调用;task["current_phase"] 携带问题或审批上下文
show_in_kanban服务中 False是否出现在看板
workspace_slugNone在指定工作区运行

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 的值
waitfalse阻塞到任务落定并返回结果
timeoutMs300000wait / 回调的最长毫秒数
pollIntervalMs2000状态轮询间隔(毫秒)
onComplete / onError—落定 / 失败回调;未提供回调时错误被静默忽略
onFeedback—每次进入 pending_approval 时调用;task.current_phase 携带问题或审批上下文
showInKanban服务中 false是否出现在看板
workspaceSlug元任务默认值在指定工作区运行