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.