Queues

Reliable background processing

Process background jobs reliably with built-in retry logic, dead letter queues, and real-time monitoring. Perfect for sending emails, processing uploads, or any async task.

Queue Dashboard

Pending

42

Processing

3

Acknowledged

15,847

Failed

12

Dead Letter

2

Recent Messages

Latest messages in this queue (auto-refreshes every 5 seconds)

IDStatusPayloadAttemptCreated
msg_a1b2c3d4...
Acknowledged
{"type":"email","to":"user@example.com"}11/15/2024, 10:30:00 AM
msg_e5f6g7h8...
Processing
{"type":"webhook","url":"https://api.example.com"}11/15/2024, 10:29:55 AM
msg_i9j0k1l2...
Pending
{"type":"image","action":"resize"}01/15/2024, 10:29:50 AM
msg_m3n4o5p6...
Failed
{"type":"notification","userId":123}31/15/2024, 10:25:00 AM
msg_q7r8s9t0...
Dead Letter
{"type":"sync","source":"external"}51/15/2024, 9:00:00 AM

Key Features

Automatic Retries

Failed messages are automatically retried with configurable backoff.

Dead Letter Queue

Messages that fail all retries are moved to a DLQ for inspection.

Message Inspection

View message payloads and track status in real-time.

High Throughput

Process thousands of messages per second with automatic scaling.

Queue Consumer

Send and process queue messages in your Worker.

src/index.ts
export default {
  async fetch(request, env) {
    await env.TASKS.send({
      task: "send-email",
      to: "user@example.com",
    });
    return Response.json({ queued: true });
  },

  async message(event) {
    console.log("Processing:", event.payload);
  },
};

Ready to get started?

Deploy your first project in minutes with Ploy.