テック技報最新号へ →
インフラ

Cloudflare Workflows: createBatch() で最大 100 インスタンスをまとめて起動する

Workflows の createBatch() がオプションオブジェクト形式になり、同じパラメータで count 指定、または instances 配列で個別 ID・パラメータを渡して、最大 100 件まで一度に起動できる。失敗した分は errors に理由つきで返る。

@CFchangelog · 投稿 2026-10-09
#infra#cloudflare#workers#workflows#wrangler

どんなときに使う?

  • 日次レポートなど、同じ設定の Workflow を数十本まとめて走らせたい
  • 注文 ID ごとにインスタンス ID を固定して起動し、重複起動をエラーとして検知したい
  • 以前の配列渡し API から移行する(配列形式は deprecated、既存コードは動く)

やり方

Wrangler 4.148.0 以降が必要(ローカル開発と wrangler types のため)。

同じオプションで N 本(count)

ts
const result = await env.MY_WORKFLOW.createBatch({
  count: 10,
  params: { report: "daily" },
});

各インスタンスには生成された ID が付く。

個別 ID・パラメータ(instances)

ts
const { created, errors } = await env.MY_WORKFLOW.createBatch({
  instances: [
    { id: "order-1", params: { orderId: 1 } },
    { id: "order-2", params: { orderId: 2 } },
  ],
});

for (const error of errors) {
  console.log(error.index, error.id, error.code, error.message);
}
  • created: 起動できたインスタンス
  • errors: 起動できなかった入力(位置・ID・コード・メッセージ)。既存 ID やバッチ内の重複 ID は黙ってスキップされずエラーになる

注意点

  • 一度に作れるのは最大 100 インスタンス
  • 配列を直接渡す旧 API は非推奨。新形式に寄せる

出典

X の元の投稿を開く