SuperAPI AI 工具集

workflows

办公与效率

查看项目

更新于 10-16 02:33

技能介绍

用途:Cloudflare Workflows 用于构建持久、长时间运行的工作流,能在重启后继续执行并自动处理重试。适合多步骤异步任务、人工介入(human-in-the-loop)流程、可靠后台作业、分钟到小时级长任务,以及带重试逻辑的 API 调用链。简单请求/响应、需低于 100ms 的实时操作、1 秒内完成的任务应直接用 Workers。

主要能力:通过继承 WorkflowEntrypoint<Env, Params> 定义工作流;用 await step.do('name', async () => {...}) 执行步骤并持久化返回值;用 await step.sleep('wait', '1 minute') 暂停;步骤可配置重试(retries: { limit, delay, backoff })与超时(timeout)。实例通过 env.MY_WORKFLOW.create({ id, params }) 创建,get(id) 获取,instance.status() 查看状态。参数经 create() 传入,在 run() 中通过 event.payload 读取。可访问 Worker 绑定(D1、KV、R2、AI 等)。

使用方式:先在 wrangler.jsonc 的 workflows 数组中配置 name、binding、class_name(须与导出的类名一致)。步骤必须 await,名称需确定且唯一,副作用须包在 step.do 内,事件不可修改。

限制:单步骤返回值上限 1 MiB,超出需将大数据存 R2/KV 并返回引用;实例总状态免费 100 MB、付费 1 GB;仅运行中实例计入并发,等待中的实例不计。步骤可能重试,需保证幂等。测试可用 Vitest 与 cloudflare:test 的 introspectWorkflowInstance。更多细节见 references 下的 steps、management、testing、rules、limits 文档。