Skip to main content

Jobs API

List Jobs

GET /api/v1/jobs
Query Parameters:
  • status - Filter by status: enqueued, running, completed, failed
  • queue - Filter by queue name
  • class_name - Filter by job class
  • since - Jobs since timestamp (ISO 8601)
  • limit - Max results (default: 50)
Response:
{
  "jobs": [
    {
      "id": "job_abc123",
      "class_name": "ProcessOrderJob",
      "queue": "default",
      "status": "completed",
      "arguments": { "order_id": 12345 },
      "enqueued_at": "2024-01-15T10:30:00Z",
      "started_at": "2024-01-15T10:30:01Z",
      "completed_at": "2024-01-15T10:30:03Z",
      "duration_ms": 2100
    }
  ],
  "pagination": {
    "page": 1,
    "per_page": 50,
    "total": 1234
  }
}

Get Job Details

GET /api/v1/jobs/:id
Response:
{
  "id": "job_abc123",
  "class_name": "ProcessOrderJob",
  "queue": "default",
  "status": "completed",
  "arguments": { "order_id": 12345 },
  "enqueued_at": "2024-01-15T10:30:00Z",
  "started_at": "2024-01-15T10:30:01Z",
  "completed_at": "2024-01-15T10:30:03Z",
  "duration_ms": 2100,
  "attempts": 1,
  "worker": {
    "id": "worker_xyz",
    "hostname": "web-1"
  },
  "result": "success"
}

Get Job Class Stats

GET /api/v1/jobs/stats/:class_name
Query Parameters:
  • period - Time period: hour, day, week
Response:
{
  "class_name": "ProcessOrderJob",
  "period": "day",
  "stats": {
    "total_runs": 4521,
    "successful": 4500,
    "failed": 21,
    "failure_rate": 0.46,
    "duration": {
      "avg_ms": 234,
      "p50_ms": 180,
      "p95_ms": 450,
      "p99_ms": 890
    },
    "wait_time": {
      "avg_ms": 320,
      "max_ms": 2100
    }
  }
}

Cancel Job

DELETE /api/v1/jobs/:id
Response:
{
  "id": "job_abc123",
  "status": "cancelled",
  "cancelled_at": "2024-01-15T10:30:00Z"
}

List Scheduled Jobs

GET /api/v1/jobs/scheduled
Query Parameters:
  • before - Jobs scheduled before timestamp
  • class_name - Filter by job class
  • limit - Max results
Response:
{
  "scheduled_jobs": [
    {
      "id": "job_xyz789",
      "class_name": "SendReminderJob",
      "queue": "mailers",
      "scheduled_at": "2024-01-16T09:00:00Z",
      "arguments": { "user_id": 456 }
    }
  ]
}