跳转到内容
搜索文档

监控与批量处理你的网站数据

最后更新 查看 MarkdownAgent 设置

Workflows 可用于处理批量数据,确保批处理中的每个项目都通过包含可靠执行的确定流程。本节以 Punderful 应用程序为例,演示如何处理一批双关语(puns)。

Punderful 应用程序通过执行内容审核、创建嵌入、分类并将其添加到向量存储库中,来处理用户提交的双关语。此过程被定义为一个工作流(Workflow)。为了处理一批现有的双关语(来自名为 OPun 的开源数据集),我们创建了一个批处理端点,该端点遍历所有双关语并为每一个双关语触发定义好的工作流。

批处理代码

以下代码片段显示了负责批处理的端点:

参见此处

此代码:

  1. 从 JSON 文件 (puns.json) 中获取双关语列表。
  2. 记录正在处理的双关语数量。
  3. 设置用于跟踪的用户 ID。
  4. 循环遍历每个双关语。
  5. 对双关语执行基本的文本清理工作。
  6. 将双关语插入到数据库中(由 insertPun 处理)。
  7. 使用 c.env.PUBLISH.create() 为每个双关语触发 PUBLISH 工作流。工作流实例使用 crypto.randomUUID() 来分配唯一的 ID。

通过 CLI 监控工作流实例

Cloudflare Wrangler CLI 提供了用于监控和管理工作流及其实例的命令。

列出与您的账户关联的可用工作流:

npx wrangler workflows list

列出特定工作流的实例(例如,publish 工作流):

npx wrangler workflows instances list publish

该命令将显示工作流实例列表、它们的状态(已排队、运行中、已完成、发生错误)以及时间戳。

要查看特定工作流实例的详细信息,包括其步骤和步骤状态、持续时间及输出:

npx wrangler workflows instances describe publish <instance-id>

<instance-id> 替换为 list 命令输出中正在运行或已完成实例的实际 ID。

示例 CLI 输出(详细说明实例)

详细说明一个工作流实例将提供其执行过程的详细分解:

Workflow Name: publish
Instance ID: oPun-batch-aea07d75-95fa-448f-9573-6e435388eff7
Version ID: 75665fce-24a1-4c83-a561-088aabc91e5f
Status: Completed
Trigger: API
Queued: 10/24/2024, 1:43:45 AM
Success: Yes
Start: 10/24/2024, 1:43:45 AM
End: 10/24/2024, 1:43:49 AM
Duration: 4 seconds
Last Successful Step: update-status-to-published-1
Steps:

Name: content-moderation-1
Type: Step
Start: 10/24/2024, 1:43:45 AM
End: 10/24/2024, 1:43:45 AM
Duration: 0 seconds
Success: Yes
Output: "true"
Config: {"retries":{"limit":5,"delay":1000,"backoff":"exponential"},"timeout":"10 minutes"}
Attempts:
  Status: Completed
  Start Time: Oct 23, 2024 6:44:57 PM
  End Time: Oct 23, 2024 6:44:57 PM
  Wall Time: 180 ms
... (其他步骤如 create-pun-embedding-1、categorize-pun-1、add-embeddings-to-vector-store-1、update-status-to-published-1)

此输出显示工作流实例中每个步骤的状态、开始/结束时间、持续时间、成功状态,甚至包括输出和配置信息。

通过 Cloudflare 仪表板监控工作流实例

您也可以直接在 Cloudflare 仪表板中监控工作流及其实例。

此仪表板视图提供了一种直观友好的方式来观察您的批处理作业的进度,识别失败的实例,并检查每个步骤的执行细节。

这篇文档对您有帮助吗?