class Sidekiq::Merger::Middleware
Public Instance Methods
call(worker_class, msg, queue, _ = nil) { || ... }
click to toggle source
# File lib/sidekiq/merger/middleware.rb, line 4 def call(worker_class, msg, queue, _ = nil) return yield if defined?(Sidekiq::Testing) && Sidekiq::Testing.inline? worker_class = worker_class.camelize.constantize if worker_class.is_a?(String) options = worker_class.get_sidekiq_options merger_enabled = options.key?("merger") return yield unless merger_enabled if !msg["at"].nil? && msg["at"].to_f > Time.now.to_f Sidekiq::Merger::Merge .initialize_with_args(worker_class, queue, msg["args"]) .add(msg["args"], msg["at"]) false else msg["args"] = [msg["args"].flatten] unless msg.delete("merged") yield end end