๐ฅ Queues
Specify Queue producers to add to your environment as follows:
const mf = new Miniflare({  queueProducers: { MY_QUEUE: "my-queue" },  queueProducers: ["MY_QUEUE"], // If binding and queue names are the same});Specify Workers to consume messages from your Queues as follows:
const mf = new Miniflare({  queueConsumers: {    "my-queue": {      maxBatchSize: 5, // default: 5      maxBatchTimeout: 1 /* second(s) */, // default: 1      maxRetries: 2, // default: 2      deadLetterQueue: "my-dead-letter-queue", // default: none    },  },  queueConsumers: ["my-queue"], // If using default consumer options});For testing, it can be valuable to interact with Queues outside a Worker. You can do this by using the workers option to run multiple Workers in the same instance:
const mf = new Miniflare({  workers: [    {      name: "a",      modules: true,      script: `      export default {        async fetch(request, env, ctx) {          await env.QUEUE.send(await request.text());        }      }      `,      queueProducers: { QUEUE: "my-queue" },    },    {      name: "b",      modules: true,      script: `      export default {        async queue(batch, env, ctx) {          console.log(batch);        }      }      `,      queueConsumers: { "my-queue": { maxBatchTimeout: 1 } },    },  ],});
const queue = await mf.getQueueProducer("QUEUE", "a"); // Get from worker "a"await queue.send("message"); // Logs "message" 1 second laterWas this helpful?
- Resources
- API
- New to Cloudflare?
- Directory
- Sponsorships
- Open Source
- Support
- Help Center
- System Status
- Compliance
- GDPR
- Company
- cloudflare.com
- Our team
- Careers
- ยฉ 2025 Cloudflare, Inc.
- Privacy Policy
- Terms of Use
- Report Security Issues
- Trademark