0.0
No commit activity in last 3 years
No release in over 3 years
This rubygem does not have a description or summary.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0
>= 0
>= 0

Runtime

~> 4.0
 Project Readme

Sidekiq HOL (Head-of-Line)

Description

For high priority jobs, and you don't want to bypass the job queue, submit your Sidekiq job to the head of the queue.

Installation

Add this line to your application's Gemfile:

  gem 'sidekiq-hol'

Caveats

sidekiq-hol does not work with reliable_fetch, Sidekiq Enterprise Rate Limiting, or any other feature that dynamically reorders jobs within a Sidekiq queue.

Usage

Add a worker to process jobs asynchronously using Sidekiq-HOL:

class SomeWorker
  include Sidekiq::Hol::Worker

  def perform(name, count)
    # do something
  end
end

Create the asynchronous job:

SomeWorker.perform_hol_async 'maggie', 1

Even though SomeWorker includes Sidekiq::Hol::Worker you can still use the regular perform_async method to submit a job at the end of a queue:

SomeWorker.perform_async 'lisa', 8

Motivation

In one of the apps I was working on, some of the Sidekiq jobs were both long-running (they could take several minutes, or hours to complete) and numerous. If someone had wanted a job to be executed immediately, this might not have been possible since it would have been placed at the end of the queue, and earlier jobs could have taken weeks or months to finish.

sidekiq-hol solves this problem by allowing a user to submit high-priority jobs at the front of the job queue. Note, if all jobs were to be submitted using sidekiq-hol then this would defeat its purpose. Please use it judiciously!

Licence

See LICENCE