0.02
No commit activity in last 3 years
No release in over 3 years
Prioritize Sidekiq jobs within queues
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

Runtime

>= 2.1.0
 Project Readme

Sidekiq Priority

Prioritize Sidekiq jobs within queues

Build Status

Overview

Sidekiq Priority lets you prioritize the jobs within any Sidekiq queue.

For example, say you add 5 jobs with the default priority:

5.times.do
  MyWorker.perform_async(42)
end

Using Sidekiq Priority, you can add new jobs that have a higher priority than those original 5 jobs by calling perform_with_priority instead of perform_async:

MyWorker.perform_with_priority(:high, 42)

This job won't interrupt any running jobs, but it'll start before any other jobs in the queue do.

You can also add jobs that should only run with lower priority than the default priority:

MyWorker.perform_with_priority(:low, 42)

Installation

Include it in your Gemfile:

gem 'sidekiq-priority'

Custom Priorities

By default, two priorities are available: :high (above the default prioritization of perform_async) and :low (below the default prioritization of perform_async), but you can add others (these values should be symbols, and nil represents the default prioritization):

# config/initializers/sidekiq_priority.rb
Sidekiq::Priority.priorities = [:very_high, :high, nil, :low]

License

Sidekiq Priority is released under the MIT License. Please see the MIT-LICENSE file for details.