Wurk

Wurk, wurk. 🪓 Ready to work. Zug zug.

A 100% drop-in replacement for Sidekiq + Sidekiq Pro + Sidekiq Enterprise. Free forever. Faster.

# Gemfile
gem "wurk"

100% drop-in

Same Redis schema, job JSON, and DSL. Third-party Sidekiq gems work unchanged.

Free

Pro + Enterprise parity in the same gem. No tiers, no license check, no flag gates.

Faster

Fork-based real parallelism. Every release benchmarked vs Sidekiq.

Everything, in one free gem

The runtime, the Pro batches, the Enterprise limiters, periodic jobs, and encryption — the features Sidekiq splits across three paid tiers all ship in a single MIT-licensed gem. No license keys, no per-seat math, no feature flags. Just bundle install.

Real parallelism, not just threads

Fork-based workers use every core — no GIL bottleneck. Reliable BLMOVE fetch, PID supervision, zero-downtime rolling restarts, and graceful drain are built in.

Sidekiq OSS + Pro

Batches that fan out & call back

Track thousands of jobs as one unit. Fire success / complete / death callbacks, nest batches arbitrarily deep, and watch live progress roll in.

Sidekiq Pro · free

Rate limiting that holds the line

Concurrent, bucket, window, leaky, and points limiters protect fragile downstreams — throttle a third-party API or a hot database without ever dropping work.

Sidekiq Enterprise · free

Cron that fires exactly once

Leader-elected periodic jobs mean every schedule tick runs once across your whole fleet — no duplicate sends, no missed ticks, no extra moving parts.

Sidekiq Enterprise · free

Encrypted arguments, rotated keys

AES-256-GCM encryption for sensitive job arguments with zero-downtime key rotation. PII and secrets never sit in Redis as plaintext.

Sidekiq Enterprise · free

A dashboard you'll keep open

A precompiled React SPA ships inside the gem — consumers never touch Node. Live queues, retries, busy workers, batches, limiters, cron, and metrics, with click-through job detail.

Sidekiq OSS + Pro/Ent

That's the full Sidekiq + Pro + Enterprise surface — $0, one gem, MIT licensed.

A dashboard you'll actually want open

Dark, fast, and mobile-first — a precompiled React SPA that ships inside the gem (consumers never run Node). Live queues, retries, scheduled, dead, busy workers, batches, limiters, cron, and throughput/failure metrics. Click any job for its full args, error, and backtrace.

Open the live demo

Install

Add the gem

# Gemfile
gem "wurk"

# then
bundle install

Mount the dashboard

# config/routes.rb
mount Wurk::Engine => "/wurk"

Migrating from Sidekiq

Wurk reads and writes the same Redis schema, so a rolling deploy can run Sidekiq and Wurk against the same Redis during cutover. Delete the paid gems, add one line:

- gem "sidekiq"
- gem "sidekiq-pro", source: "https://gems.contribsys.com/"
- gem "sidekiq-ent", source: "https://enterprise.contribsys.com/"
+ gem "wurk"

bundle install && restart. That's it — see the migration guide.