Sha256: 6135d15dda8acb2061e2ed6aef2f02d761fa0785b954bfeb942364e23987a563

Contents?: true

Size: 652 Bytes

Versions: 3

Compression:

Stored size: 652 Bytes

Contents

require_relative "merge"

class Sidekiq::Merger::Middleware
  def call(worker_class, msg, queue, redis_pool = 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

    if !msg["at"].nil? && options.key?("merger")
      Sidekiq::Merger::Merge
        .initialize_with_args(worker_class, queue, msg["args"])
        .add(msg["args"], msg["at"])
      false
    else
      msg["args"] = [msg["args"]] unless msg.delete("merged")
      yield(worker_class, msg, queue, redis_pool)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
sidekiq-merger-0.0.6 lib/sidekiq/merger/middleware.rb
sidekiq-merger-0.0.5 lib/sidekiq/merger/middleware.rb
sidekiq-merger-0.0.4 lib/sidekiq/merger/middleware.rb