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.

    Queues | Ploy