Sha256: 44fca486fda88394e67c80ca7d10177e6ddd99044dbb266dbeca31f9d4606963
Contents?: true
Size: 1.27 KB
Versions: 3
Compression:
Stored size: 1.27 KB
Contents
# frozen_string_literal: true module SidekiqUniqueJobs # # Provides the sidekiq middleware that makes the gem work # # @author Mikael Henriksson <mikael@mhenrixon.com> # module Middleware include SidekiqUniqueJobs::Logging::Middleware include SidekiqUniqueJobs::OptionsWithFallback include SidekiqUniqueJobs::JSON # The sidekiq job hash # @return [Hash] the Sidekiq job hash attr_reader :item # # This method runs before (prepended) the actual middleware implementation. # This is done to reduce duplication # # @param [Sidekiq::Job] 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>] call the rest of the middleware stack # # @yieldparam [void] if uniquejobs is disable # @yieldreturn [void] delegate back to other sidekiq middleware def call(worker_class, item, queue, redis_pool = nil) @item = item @queue = queue @redis_pool = redis_pool self.job_class = worker_class return yield if unique_disabled? SidekiqUniqueJobs::Job.prepare(item) with_logging_context do super end end end end
Version data entries
3 entries across 3 versions & 1 rubygems