Skip to content

Related Projects

Ondřej Bartas edited this page Aug 25, 2013 · 107 revisions

A number of gems provide additional Sidekiq functionality:

Async Email & File Processing

  • Devise Async: Send Devise's emails in background. Supports Resque, Sidekiq and Delayed::Job
  • Carrierwave Backgrounder: Offload CarrierWave's image processing and storage to a background process using Delayed Job, Resque, Sidekiq, Qu, Queue Classic or Girl Friday

Unique Jobs

Recurring jobs

  • Sidetiq: Sidetiq provides a simple API for defining recurring workers for Sidekiq.
  • Sidekiq Cron: Schedule recurring jobs for sidekiq workers using cron notation * * * * *.

Queue limits

  • Sidekiq Limit Fetch: Restrict number of workers which are able to run specified queues simultaneously. You can pause queues and resize queue distribution dynamically. Also tracks number of active workers per queue. Supports global mode (multiple sidekiq processes). There is an additional blocking queue mode.
  • Sidekiq Throttler: Sidekiq::Throttler is a middleware for Sidekiq that adds the ability to rate limit job execution on a per-worker basis.

Benchmark

  • Sidekiq Benchmark: Adds benchmarking methods to Sidekiq workers, keeps metrics and adds tab to Web UI to let you browse them

Mongoid

Heroku

Execution ordering

  • Batsir: Batsir is an execution platform for stage based filter queue execution. It is based on the Pipes and Filters patterns, and makes it possible to create multiples Pipes and Filters (called Stages) that can be invoked asynchronously using so called inbound Acceptors. Acceptors are started automatically and will send a payload into the filter chain, after which the (possibly) transformed message will be processed by the so called outbound Notifiers. Notifiers can be used to asynchronously send a message to another stage, as long as corresponding inbound Acceptors have been configured.
  • SidekiqPipeline: Very simple (< 40 LOC) pipeline process for Sidekiq, allows one to define a set of jobs and their params to be run, runs them in order. Retries maintain pipeline state, so previous stages of the pipeline are not re-run when a failure occurs.
  • Sidekiq Superworker: Chain together Sidekiq workers in parallel, serial, and batch configurations using an expressive DSL.

Task status

  • Sidekiq-Status: Resque-Status-like functionality for sidekiq, allow you to track job status.
  • sidekiq_status: Yet another rewrite from scratch of resque_status for sidekiq.

Monitoring

  • Sidekiq Monitor: Advanced monitoring for Sidekiq that lets you filter, search, and sort jobs by many attributes, view error backtraces, set job completion metadata, and more.

Ruby

  • Rubykiq: Sidekiq agnostic enqueuing using Redis.

Non-Ruby

  • Coffeekiq: Basic node.js Library that enqueues jobs to Sidekiq.

Add yours here!

Clone this wiki locally