Cloudflare Workflows: createBatch() で最大 100 インスタンスをまとめて起動する
Workflows の createBatch() がオプションオブジェクト形式になり、同じパラメータで count 指定、または instances 配列で個別 ID・パラメータを渡して、最大 100 件まで一度に起動できる。失敗した分は errors に理由つきで返る。
どんなときに使う?
- 日次レポートなど、同じ設定の Workflow を数十本まとめて走らせたい
- 注文 ID ごとにインスタンス ID を固定して起動し、重複起動をエラーとして検知したい
- 以前の配列渡し API から移行する(配列形式は deprecated、既存コードは動く)
やり方
Wrangler 4.148.0 以降が必要(ローカル開発と wrangler types のため)。
同じオプションで N 本(count)
count)ts
const result = await env.MY_WORKFLOW.createBatch({
count: 10,
params: { report: "daily" },
});各インスタンスには生成された ID が付く。
個別 ID・パラメータ(instances)
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 は非推奨。新形式に寄せる
出典
- @CFchangelog · 2026-10-10
- 公式 Changelog: developers.cloudflare.com