Define queue priorities in the Sidekiq config or when starting the process: sidekiq -q critical,2 -q default,1 to weight critical at 2x
Set the retry count per worker class with sidekiq_options retry: N; failed jobs are retried with exponential backoff up to the configured limit
Jobs that exhaust all retries move to the dead set; inspect and retry them via the Sidekiq web UI or Sidekiq::DeadSet API
With Sidekiq Pro, create batches: batch = Sidekiq::Batch.new; batch.jobs { MyWorker.perform_async(args) }; attach callbacks via batch.on(:success, ...)
Use Sidekiq::Client.push_bulk to enqueue many jobs in fewer Redis round trips for high-throughput ingestion
Known gotchas
Sidekiq uses Redis LPUSH/BRPOP; long job arguments are stored in Redis and can exhaust memory if payloads are large — store large data externally and pass references
The dead set has a maximum size; once full, new dead jobs silently overwrite the oldest, losing visibility into older failures
Sidekiq Pro and Enterprise features (batches, rate limiting, encrypted jobs) require a commercial license and are not in the open-source gem
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp