跳转到内容
搜索文档

Dynamic Workflows Playground

最后更新 查看 MarkdownAgent 设置

尝试 dynamic workflows playground,使用 JavaScript 编写工作流逻辑,通过 Dynamic Worker 执行它,并实时记录每个步骤骤。

此示例向您展示了如何通过 Dynamic Worker 运行 Cloudflare Workflows,从而获得完整的持久化执行能力(包含步骤重试、休眠、休眠状态 (hibernation) 和 waitForEvent),适用于任何需要按需运行的工作流。

Deploy to Workers

工作原理

它分为两部分:

  • Worker Loader — 运行您平台逻辑的 Worker。它接收请求,将用户的工作流代码作为 Dynamic Worker 加载,并赋予其 Workflow 绑定,以便它可以创建和运行工作流。
  • Dynamic Worker — 这里定义了工作流。您可以在此处编写工作流逻辑,包括需要运行哪些步骤,休眠多长时间以及等待哪些事件。

@cloudflare/dynamic-workflows 库将两者连接起来。当 Dynamic Worker 创建工作流时,该库会为其标记有关是哪个 Dynamic Worker 创建了它的信息。该标签由 Workflows 引擎持久化保存,因此当工作流需要在休眠、失败或服务器重启后恢复时,引擎就知道要重新加载哪个 Dynamic Worker 来继续执行。

有关该库及其设置方法的完整演练,请参阅 Dynamic Workflows 指南

此 playground 包含的内容

  • Worker Loader 和 Dynamic Worker 设置 — 一个完整的工作示例,包含了使用 @cloudflare/dynamic-workflows 在运行时加载工作流代码的 Worker Loader,以及以持久化执行模式运行它的 Dynamic Worker。
  • 实时日志流 — 来自 Dynamic Worker 的每一个 console.log()console.warn() 都会被捕获并实时流向浏览器,因此您可以看到运行中每一步的内部情况。
  • 源码持久化 — 工作流代码会被保存下来,因此如果工作流暂停(例如,在 step.sleep() 期间)且服务器回收了进程,它可以重新加载相同的代码并从中断的地方恢复。

这篇文档对您有帮助吗?