Queue
The Queue component lets you add Cloudflare Queue to your app for reliable message delivery between workers.
Minimal Example
Create a basic queue with default settings:
ts
import { Queue } from "alchemy/cloudflare";
const queue = await Queue("my-queue", {
name: "my-queue"
});
Queue with Custom Settings
Configure queue delivery delay and retention period:
ts
import { Queue } from "alchemy/cloudflare";
const delayedQueue = await Queue("delayed-queue", {
name: "delayed-queue",
settings: {
deliveryDelay: 30, // 30 second delay
messageRetentionPeriod: 86400 // Store messages for 1 day
}
});
Paused Queue
Create a paused queue that can be activated later:
ts
import { Queue } from "alchemy/cloudflare";
const pausedQueue = await Queue("paused-queue", {
name: "paused-queue",
settings: {
deliveryPaused: true
}
});
Bind to a Worker
Bind a queue to a worker for message processing:
ts
import { Worker, Queue } from "alchemy/cloudflare";
const myQueue = await Queue("my-queue", {
name: "my-queue"
});
await Worker("my-worker", {
name: "my-worker",
script: "console.log('Hello, world!')",
bindings: {
MY_QUEUE: myQueue
}
});