-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Related Projects
A number of gems provide additional Sidekiq functionality: (in alphabetical order)
- 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
- Ryespy: IMAP, FTP, Amazon S3, Google Cloud Storage, Google Drive, Rackspace Cloud Files listener.
- SidekiqSendMail: Render mail then serialize it for dispatch by Sidekiq.
- Sidekiq Benchmark: Adds benchmarking methods to Sidekiq workers, keeps metrics and adds tab to Web UI to let you browse them
- Sidekiq Capistrano: Sidekiq integration for Capistrano
-
Gush: Gush is a parallel workflow runner built on top of Sidekiq. Created for running complex processes with multiple dependencies per job. See example
-
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.
-
Sidekiq Superworker: Chain together Sidekiq workers in parallel, serial, and batch configurations using an expressive DSL.
-
Sidekiq::Promise: Turn individual workers into Async promises that can be coordinated using promise flows.
-
sidekiq-grouping: Lets you group similar tasks to run them all as a single task. Is useful to reduce number of similar counter update queries, grouping separate background indexing queries into a bulks, etc.
-
sidekiq-retries: a Retry middleware with more flexible retry handling.
- Sidekiq Heroku Autoscaler: Autoscale your Sidekiq workers on Heroku, even down to zero, if there are no jobs to process.
- Sidekiq Multi-Redis Client: Allows you to specify two redis locations and have the client code 1) alternate sending jobs between the two redis instances, and 2) automatically failover to submitting jobs to the remaining instance in case one goes away.
- sidekiq-gelf: Middleware that logs jobs to a GELF-supported logging server, such as Graylog2.
- Kiqstand by Mongoid: Kiqstand is a middleware for Sidekiq for use with Mongoid 3
- Sidekiq::Activerecord: Encapsulates common patterns and various interactions between Sidekiq and ActiveRecord.
- 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.
- Sidekiq Spy: Sidekiq monitoring in the console. A bit like Sidekiq::Web. But without the web.
- Sidekiq Priority: Prioritize Sidekiq jobs within queues.
- sidekiq-apriori: Sidekiq middleware to prioritize jobs using the facilities built into sidekiq. Additional hooks to simplify active record & worker classes.
- Sidekiq Prioritized Queues: Adds numeric based priorities to your jobs.
- 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.
- sidekiq-rate-limiter: Redis backed, per worker rate limits for job processing.
- Sidetiq: Sidetiq provides a simple API for defining recurring workers for Sidekiq.
- Sidekiq Cron: Schedule recurring jobs for sidekiq workers using cron notation * * * * *.
- Rubykiq: Sidekiq agnostic enqueuing using Redis.
- Coffeekiq: Basic node.js Library that enqueues jobs to Sidekiq.
- 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.
@mperham's note: job uniqueness or locking is impossible to implement safely and efficiently in a distributed system. I recommend using optimistic or pessimistic locking with database transactions instead of using these projects.
- Sidekiq Middleware: Unique jobs for Sidekiq
- Sidekiq Unique Jobs: Unique jobs for Sidekiq
Previous: Testimonials