Skip to content

Editing a queue

You can change any queue setting except its name, at any time — retune concurrency, add a rate limit, switch delivery mode, or point at a new webhook URL.

Change a setting

Update the queue via the API (PUT /v1/queues/<queue-id> — partial, send only the fields you're changing):

bash
curl -X PUT "$SQ_API_URL/v1/queues/<queue-id>" \
  -H "Authorization: Bearer $SIMPLEQ_API_KEY" \
  -H "content-type: application/json" \
  -d '{ "concurrency": 50 }'
js
await fetch(`${process.env.SQ_API_URL}/v1/queues/<queue-id>`, {
  method: 'PUT',
  headers: { 'content-type': 'application/json', authorization: `Bearer ${process.env.SIMPLEQ_API_KEY}` },
  body: JSON.stringify({ concurrency: 50 }),
});
python
import os, httpx

httpx.put(
    f"{os.environ['SQ_API_URL']}/v1/queues/<queue-id>",
    headers={"authorization": f"Bearer {os.environ['SIMPLEQ_API_KEY']}"},
    json={"concurrency": 50},
)

Or use the dashboard: open the queue and click Edit queue. The <queue-id> is the queue's _id from the POST /v1/queues response.

Concurrency limits

concurrency — the number of simultaneous in-flight deliveries for a queue — accepts 1–500, and the sum of concurrency across all your queues may not exceed 1,000. A create or update that would push your account total past 1,000 is rejected (with a message telling you the resulting total), so lower concurrency on another queue to make room.

When changes take effect

What you changedWhen it applies
Webhook URL, delivery mode, ack timeout, dead-letterYour next job delivery — typically within a second.
Concurrency, rate limitOnce the jobs currently being processed finish: instant when the queue is idle, up to about 15 seconds on a standard-mode queue, or up to your queue's ack timeout on an ack-mode queue.
Retry count (maxAttempts), backoffJobs you publish after the change. Jobs already in the queue keep the retry settings they were created with.

Nothing is lost or interrupted: jobs already running always finish under the settings they started with, and your new values apply from there.