finds.dev← search

// the find

d34ndev/sidekiq-limit_fetch

★ 964 · Ruby · MIT · updated Jun 2025

A Sidekiq plugin to support advanced queue control (limiting, pausing, blocking, querying)

A Sidekiq fetch strategy plugin that adds per-queue concurrency limits, pausing, and blocking, all adjustable at runtime from Ruby code. It suits teams running many queues who need more control over what runs when than Sidekiq's built-in weights and strict ordering give. The README says the project is unmaintained, so treat it as a snapshot of working code rather than something with a future.

- Limits can be set in sidekiq.yml or changed live with Sidekiq::Queue['name'].limit = n, and per-process limits cover multi-process deployments. You can resize worker distribution across queues without a deploy.

- Pause and unpause keep the configured limit intact, and pause_for_ms gives a timed pause. That is a practical lever for draining a queue while a downstream service is down.

- Blocking mode handles priority inversion under strict ordering: a running task on a high-priority queue stops lower-priority queues from starting new jobs, and block_except lets specific queues through.

- It works as a fetch strategy rather than a fork of Sidekiq internals, and the gemfiles directory shows a CI matrix from Sidekiq 6.0 through master.

- The README says the project is unmaintained and the maintainer no longer uses Sidekiq. The last push was June 2025. If a future Sidekiq release changes the fetch internals, nobody is obliged to fix it, so plan on forking.

- It replaces the fetch strategy, so it is incompatible with Sidekiq Pro's super_fetch, sidekiq-rate-limiter, and any other plugin that does the same. You cannot run those alongside it.

- Limits, pauses, and blocks are stored in Redis, and the Maintenance section admits that a flushdb wipes the dynamic config until the Sidekiq process restarts. Dynamic queues also need an explicit :dynamic: true entry and always run at the lowest priority.

- Blocking only applies under strict queue ordering. If you use weighted queues, blocking does nothing, and the README does not make that prominent enough.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →