finds.dev← search

// the find

deanpcmad/sidekiq-limit_fetch

★ 963 · Ruby · MIT · updated Jun 2025

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

A Sidekiq plugin that adds per-queue concurrency limits, pause/unpause controls, blocking queue modes, and dynamic queue discovery. It solves the real problem of needing finer control over which queues consume how many workers, especially in multi-queue Sidekiq deployments. The current maintainer has marked it unmaintained as of 2025.

The concurrency limiting is implemented via Redis-backed semaphores, so limits work correctly across multiple Sidekiq processes — not just per-process. The blocking queue feature is genuinely useful for priority enforcement: you can gate lower-priority queues behind higher-priority ones without custom fetch logic. Dynamic queue support means you don't need to restart workers when new queues appear. The gem supports Sidekiq 6.x through 7.x with separate gemfiles for each version, so compatibility is actually tested rather than assumed.

The README opens with a note that the project is unmaintained, which is the thing most people need to know before adding any background job dependency to production. It's incompatible with Sidekiq Pro's super_fetch, which means you have to choose between reliability guarantees and queue control — a significant constraint anyone running mission-critical jobs will hit. The blocking queue semantics are only available with strict queue ordering, not weighted queues, which limits its usefulness in the common case where you've already set queue weights. No Sidekiq 7.x-specific features (like the new metrics or job lifecycle hooks) are integrated; it's purely a fetch strategy override that hasn't evolved with the ecosystem.

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 →