module SidekiqUniqueJobs::Middleware
Provides the sidekiq middleware that makes the gem work
@author Mikael Henriksson <mikael@mhenrixon.com>
Attributes
item[R]
The sidekiq job hash @return [Hash] the Sidekiq
job hash
Public Instance Methods
call(worker_class, item, queue, redis_pool = nil) { || ... }
click to toggle source
This method runs before (prepended) the actual middleware implementation.
This is done to reduce duplication
@param [Sidekiq::Worker] worker_class @param [Hash] item a sidekiq job hash @param [String] queue name of the queue @param [ConnectionPool] redis_pool only used for compatility reasons
@return [yield<super>] <description>
@yieldparam [<type>] if <description> @yieldreturn [<type>] <describe what yield should return>
Calls superclass method
# File lib/sidekiq_unique_jobs/middleware.rb, line 31 def call(worker_class, item, queue, redis_pool = nil) @worker_class = worker_class @item = item @queue = queue @redis_pool = redis_pool return yield if unique_disabled? SidekiqUniqueJobs::Job.prepare(item) unless item[LOCK_DIGEST] with_logging_context do super end end