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.
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
}