Queues は、Workers のコマンドラインツールである Wrangler を使ったローカル開発に対応しています。Wrangler は、Cloudflare がグローバルに動かしている Queues と同じバージョンを実行します。
Queues をローカルで開発するには、次のものが必要です。
-
Node.js
18.0.0以降。権限の問題を避け、Node のバージョンを切り替えるには、Volta ↗ や nvm ↗ などの Node バージョンマネージャーの利用を検討してください。 -
Queues や Cloudflare Workers が初めての場合は、Queues チュートリアル を参照して
wranglerをインストールし、最初の Queue をデプロイしてください。
ターミナルを開き、次のコマンドでローカル開発セッションを開始します。
npx wrangler@latest dev------------------
Your Worker and resources are simulated locally via Miniflare. For more information, see: https://developers.cloudflare.com/workers/testing/local-development.
Your worker has access to the following bindings:
- Queues: <QUEUE-NAME>ローカル開発セッションは、本番の Queues 環境を模したスタンドアロンのローカル専用環境を作ります。本番へデプロイする 前に、Worker をテストできます。
ローカル開発セッションの設定方法は、wrangler dev のドキュメント を参照してください。
Wrangler は、1 つのコマンドで複数の Worker を同時に実行できます。プロデューサーとコンシューマーを別々の Worker に分けている構成なら、この機能でメッセージフロー全体をローカルでテストできます。
たとえば、プロジェクトのディレクトリ構成が次のとおりだとします。
producer-worker/
├── wrangler.jsonc
├── index.ts
└── consumer-worker/
├── wrangler.jsonc
└── index.ts次のコマンドで、両方の Worker の開発サーバーを起動できます。
npx wrangler@latest dev -c wrangler.jsonc -c consumer-worker/wrangler.jsonc --persist-to .wrangler/stateプロデューサー Worker がキューへメッセージを送ると、コンシューマー Worker が自動的に呼び出されて処理します。
- Queues は Wrangler のリモートモード(
wrangler dev --remote)に対応していません。