Barriers & Queues
Barriers control how many executions of a hook can run simultaneously.
Mutex
Only one execution at a time. Additional requests wait in FIFO order:
[hooks.concurrency]
mode = "mutex"
Queue
FIFO queue with a configurable maximum depth:
[hooks.concurrency]
mode = "queue"
queue_depth = 10
If the queue is full, new requests are rejected.
When to use barriers
- CI/CD hooks: Prevent overlapping deployments with mutex
- Data processing: Queue batch jobs with a depth limit to control resource usage
- External APIs: Rate-limit outgoing calls by queueing webhook processing
Without barriers
By default, hooks have no concurrency control. Multiple webhook requests execute in parallel.