SextantDocs
v2.4latest
v2.4latestv1.9legacy

Switching keeps you on the same page when it exists in the other version.

Queues

Queues group jobs and set how many run at once. They are created from the config file; the API reads their state and pauses them.

API referenceBase URL https://api.sextant.example/v23 endpoints

The Queue object

namestring
Queue name.
pausedboolean
Paused queues keep accepting jobs but start none.
concurrencyinteger
Maximum running jobs, summed over all workers.
depthobject
Job counts per state.

List queues

GET/queues

Returns every queue with live depth and throughput.

Required scope queues:read

Request

cURLShell
curl https://api.sextant.example/v2/queues?limit=20 \
  -H "Authorization: Bearer $SEXTANT_TOKEN"
NodeTypeScript
const result = await sextant.queues.list({
  limit: 20,
});
PythonPython
result = client.queues.list(limit=20)
GoGo
result, err := client.Queues.List(ctx, &sextant.ListParams{Limit: 20})
if err != nil {
	return err
}

Responses

All queues.

200JSON
{
  "data": [
    {
      "name": "emails",
      "paused": false,
      "concurrency": 20,
      "depth": {
        "scheduled": 3,
        "queued": 41,
        "running": 12,
        "failed": 2,
        "dead": 0
      },
      "throughput_1m": 214,
      "oldest_queued_age_ms": 830
    }
  ]
}

Pause a queueBeta

POST/queues/{queue}/pause

Stops workers from starting new jobs on the queue. Running jobs finish normally.

Required scope queues:write

Path parameters

queuestring required
Queue name.

Request

cURLShell
curl -X POST https://api.sextant.example/v2/queues/emails/pause \
  -H "Authorization: Bearer $SEXTANT_TOKEN"
NodeTypeScript
const result = await sextant.queues.pause('emails');
PythonPython
result = client.queues.pause("emails")
GoGo
result, err := client.Queues.Pause(ctx, "emails")
if err != nil {
	return err
}

Responses

The queue, now paused.

200JSON
{
  "name": "emails",
  "paused": true,
  "concurrency": 20,
  "depth": {
    "scheduled": 3,
    "queued": 41,
    "running": 12,
    "failed": 2,
    "dead": 0
  },
  "throughput_1m": 214,
  "oldest_queued_age_ms": 830
}

Resume a queueBeta

POST/queues/{queue}/resume

Lets workers start jobs on the queue again.

Required scope queues:write

Path parameters

queuestring required
Queue name.

Request

cURLShell
curl -X POST https://api.sextant.example/v2/queues/emails/resume \
  -H "Authorization: Bearer $SEXTANT_TOKEN"
NodeTypeScript
const result = await sextant.queues.resume('emails');
PythonPython
result = client.queues.resume("emails")
GoGo
result, err := client.Queues.Resume(ctx, "emails")
if err != nil {
	return err
}

Responses

The queue, running again.

200JSON
{
  "name": "emails",
  "paused": false,
  "concurrency": 20,
  "depth": {
    "scheduled": 3,
    "queued": 41,
    "running": 12,
    "failed": 2,
    "dead": 0
  },
  "throughput_1m": 214,
  "oldest_queued_age_ms": 830
}