Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

ウェブサイトのデータを監視し、バッチ処理する

最終更新 Markdown で表示Agent セットアップ

Workflows はデータのバッチ処理に使えます。バッチ内の各項目が、定義した処理を信頼性高く通るようにします。このセクションでは、Punderful アプリケーションを例に、ダジャレのバッチ処理を示します。

Punderful アプリケーションは、ユーザーが投稿したダジャレに対してコンテンツモデレーション、埋め込みの作成、カテゴリ分けを行い、ベクトルストアへ追加します。この処理は Workflow として定義されています。既存のダジャレ(OPun というオープンソースデータセット)をバッチ処理するために、各ダジャレを順に処理し、定義済みの Workflow を 1 件ずつ起動するバッチ用エンドポイントを作成します。

バッチ処理のコード

次のコードスニペットは、バッチ処理を担当するエンドポイントです。

こちらを参照

このコードは次を行います。

  1. JSON ファイル(puns.json)からダジャレの一覧を取得します。
  2. 処理するダジャレの件数をログに出します。
  3. 追跡用のユーザー ID を設定します。
  4. 各ダジャレをループします。
  5. ダジャレに対して基本的なテキストクリーニングを行います。
  6. ダジャレをデータベースへ挿入します(insertPun が担当します)。
  7. c.env.PUBLISH.create() で、各ダジャレに対して PUBLISH Workflow を起動します。Workflow には crypto.randomUUID() で一意の ID を付けます。

CLI で Workflow インスタンスを監視する

Cloudflare Wrangler CLI には、Workflows とそのインスタンスを監視・管理するコマンドがあります。

アカウントに紐づく利用可能な Workflow を一覧表示するには、次を実行します。

npx wrangler workflows list

特定の Workflow(たとえば publish Workflow)のインスタンスを一覧表示するには、次を実行します。

npx wrangler workflows instances list publish

このコマンドは、Workflow インスタンスの一覧、ステータス(Queued、Running、Completed、Errored)、タイムスタンプを表示します。

特定の Workflow インスタンスの詳細(各ステップとそのステータス、所要時間、出力)を表示するには、次を実行します。

npx wrangler workflows instances describe publish <instance-id>

<instance-id> は、list コマンドの出力にある実行中または完了済みインスタンスの実際の ID に置き換えます。

CLI 出力の例(インスタンスの詳細)

Workflow インスタンスの詳細表示では、実行内容が細かく分かれます。

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
... (additional steps like create-pun-embedding-1, categorize-pun-1, add-embeddings-to-vector-store-1, update-status-to-published-1)

この出力では、Workflow インスタンス内の各ステップについて、ステータス、開始時刻と終了時刻、所要時間、成功可否、出力、設定が分かります。

Cloudflare ダッシュボードで Workflow インスタンスを監視する

Cloudflare ダッシュボードでも、Workflows とそのインスタンスを直接監視できます。

ダッシュボードを使うと、バッチジョブの進捗を確認し、失敗したインスタンスを特定し、各ステップの実行内容を調べやすくなります。

役に立ちましたか?