Skip to main content

Queues API

List Queues

GET /api/v1/queues
Response:
{
  "queues": [
    {
      "name": "default",
      "size": 42,
      "latency_seconds": 1.2,
      "status": "healthy",
      "throughput": {
        "per_minute": 85,
        "per_hour": 4200
      },
      "workers": 3
    },
    {
      "name": "mailers",
      "size": 8,
      "latency_seconds": 0.3,
      "status": "healthy",
      "throughput": {
        "per_minute": 12,
        "per_hour": 650
      },
      "workers": 2
    }
  ]
}

Get Queue Details

GET /api/v1/queues/:name
Response:
{
  "name": "default",
  "size": 42,
  "latency_seconds": 1.2,
  "status": "healthy",
  "throughput": {
    "per_minute": 85,
    "per_hour": 4200
  },
  "workers": 3,
  "stats": {
    "processed_today": 12345,
    "failed_today": 15,
    "failure_rate": 0.12,
    "avg_job_duration_ms": 234
  },
  "top_job_classes": [
    { "class": "ProcessOrderJob", "count": 4521 },
    { "class": "SendEmailJob", "count": 3200 }
  ]
}

Get Queue Metrics History

GET /api/v1/queues/:name/metrics
Query Parameters:
  • period - Time period: hour, day, week
  • resolution - Data point resolution: minute, 5min, hour
Response:
{
  "queue": "default",
  "period": "day",
  "resolution": "hour",
  "metrics": [
    {
      "timestamp": "2024-01-15T10:00:00Z",
      "size": 35,
      "latency": 0.8,
      "throughput": 92,
      "failures": 1
    },
    {
      "timestamp": "2024-01-15T11:00:00Z",
      "size": 42,
      "latency": 1.2,
      "throughput": 85,
      "failures": 2
    }
  ]
}

Pause Queue

POST /api/v1/queues/:name/pause
Response:
{
  "queue": "mailers",
  "status": "paused",
  "paused_at": "2024-01-15T10:30:00Z"
}

Resume Queue

POST /api/v1/queues/:name/resume
Response:
{
  "queue": "mailers",
  "status": "active",
  "resumed_at": "2024-01-15T10:35:00Z"
}

Clear Queue

DELETE /api/v1/queues/:name/jobs
Request:
{
  "confirm": true
}
Response:
{
  "queue": "default",
  "jobs_deleted": 42,
  "message": "Queue cleared"
}