使用 Workflows 在 Cloudflare Workers 上构建持久多步骤应用。
Available on Free and Paid plans
借助 Workflows,你可以构建串联多个步骤的应用,自动重试失败的任务, 并将状态持久化保存数分钟、数小时甚至数周——无需管理任何基础设施。
使用 Workflows 构建可靠的 AI 应用、处理数据管道、通过自动化邮件和试用到期管理用户生命周期,以及实现人工审批(human-in-the-loop)系统。
Workflows 提供:
- 无超时限制的持久多步骤执行
- 暂停等待外部事件或审批的能力
- 自动重试和错误处理
- 内置可观测性与调试能力
一个图片处理 Workflow:从 R2 获取图片、生成 AI 描述、等待审批,然后发布:
export class ImageProcessingWorkflow extends WorkflowEntrypoint {
async run(event: WorkflowEvent, step: WorkflowStep) {
const imageData = await step.do('fetch image', async () => {
const object = await this.env.BUCKET.get(event.payload.imageKey);
return await object.arrayBuffer();
});
const description = await step.do('generate description', async () => {
const imageArray = Array.from(new Uint8Array(imageData));
return await this.env.AI.run('@cf/llava-hf/llava-1.5-7b-hf', {
image: imageArray,
prompt: 'Describe this image in one sentence',
max_tokens: 50,
});
});
await step.waitForEvent('await approval', {
event: 'approved',
timeout: '24 hours',
});
await step.do('publish', async () => {
await this.env.BUCKET.put(`public/${event.payload.imageKey}`, imageData);
});
}
}快速入门
浏览示例
持久步骤执行
将复杂操作拆分为持久步骤,支持自动重试和错误处理。
休眠与调度
使用 step.sleep() 和 step.sleepUntil() 让 Workflow 暂停数秒、数小时或数天。
等待外部事件
等待 Webhook、用户输入或外部系统响应后再继续执行。
Workflow 生命周期管理
通过编程方式或 API 触发、暂停、恢复和终止 Workflow 实例。
Workers
构建无服务器应用,即时部署至全球,获得卓越的性能、可靠性和规模。
Pages
以极快速度部署动态前端应用。
定价
了解 Workflows 的定价方式。
限制
了解 Workflow 限制及如何在限制范围内工作。
存储选项
了解可在 Workers 上构建的存储和数据库选项。
Developer Discord
在 Discord 上与 Workers 社区交流,提问、展示你的项目,并与其他开发者讨论平台。
@CloudflareDev
关注 Twitter 上的 @CloudflareDev,了解产品公告和 Cloudflare Developer Platform 的最新动态。