Skip to content

v2.6.0

Latest

Choose a tag to compare

@github-actions github-actions released this 17 Jun 15:55
v2.6.0
63962a1

One opt-in, backwards-compatible addition: tunable per-queue drain concurrency. The drain previously ran exactly one receiver per SQS queue per task, so a single slow message (a hung VCS webhook, a 30s audit-trail call) would head-of-line block every other message on that queue. These knobs let you run multiple independent receivers per queue so one slow message no longer stalls the rest.

What's included

  • Per-queue drain concurrency - eight new drain_concurrency_<queue> variables (async_jobs, async_jobs_fifo, cronjobs, dlq, dlq_fifo, events, iot, webhooks) that flow into the drain container as DRAIN_CONCURRENCY_* env vars. Each sets how many concurrent receivers run for that queue. Every variable defaults to 1, which reproduces today's one-receiver-per-queue behavior, so nothing changes on upgrade unless you raise a value.

Note

These are opt-in throughput knobs, not a fix-everything dial. Raise concurrency for queues where you have seen head-of-line blocking from slow handlers (webhooks, events, async jobs are the usual suspects). Higher values mean more in-flight work per drain task, so size the drain service accordingly.

New Contributors

  • @haluz made their first contribution in #53

Full Changelog: v2.5.0...v2.6.0