Overview
Thequeue operation enables ensembles to send messages to and consume messages from Cloudflare Queues. Use queues for:
- Asynchronous processing - Decouple producers and consumers
- Batch operations - Process multiple messages efficiently
- Reliable delivery - Automatic retries and dead letter queues
- Load leveling - Handle traffic spikes gracefully
Queue Modes
The queue operation supports three modes:- send - Send a single message
- send-batch - Send multiple messages at once
- consume - Process messages (used with queue triggers)
Sending Messages
Single Message
Batch Send
Send multiple messages in a single operation:Dynamic Batch from Input
Consuming Messages
Queue Trigger Consumer
Configure ensemble to process queue messages:Message Batch Structure
Queue consumers receive messages in this format:Message Options
Content Type
Specify message format:Delivery Delay
Delay message delivery:Message Deduplication
Prevent duplicate messages:Retry Logic
Automatic Retries
Failed messages are automatically retried:- Attempt 1: Immediate
- Attempt 2: 1 second delay
- Attempt 3: 5 seconds delay
- Attempt 4: 30 seconds delay
Retry in Consumer
Handle retries explicitly:Dead Letter Queue (DLQ)
Configure DLQ
Messages that fail after max retries go to DLQ:Process DLQ Messages
Create separate ensemble for DLQ:Complete Examples
Image Processing Pipeline
Background Task Queue
Wrangler Configuration
Define queues inwrangler.toml:
Performance Tips
Batch Size
- Small batches (1-5): Low latency, real-time processing
- Medium batches (10-20): Balanced throughput
- Large batches (50-100): Maximum throughput, higher latency
Max Wait Time
Control batch fill time:Parallel Processing
Process messages concurrently within a batch:Message Size
Keep messages small for best performance:- Recommended: < 128 KB per message
- Maximum: 256 KB per message
Error Handling
Handle Individual Failures
Process messages individually to isolate failures:Circuit Breaker
Stop processing if too many failures:Monitoring
Queue Metrics
Track queue performance:Alerting
Alert on queue issues:Best Practices
- Idempotency - Design consumers to handle duplicate messages
- Small batches for latency - Large batches for throughput
- Retry with backoff - Use exponential backoff for retries
- Monitor DLQ - Set up alerts for DLQ growth
- Message references - Store large data externally, queue references
- Graceful degradation - Handle individual message failures
- Circuit breakers - Stop processing during systemic failures

