lib/sidekiq-status/client_middleware.rb in sidekiq-status-2.0.2 vs lib/sidekiq-status/client_middleware.rb in sidekiq-status-2.1.0

- old
+ new

@@ -1,6 +1,8 @@ require 'sidekiq/api' +JOB_CLASS = Sidekiq.constants.include?(:JobRecord) ? Sidekiq::JobRecord : Sidekiq::Job + module Sidekiq::Status # Should be in the client middleware chain class ClientMiddleware include Storage @@ -32,21 +34,21 @@ # Store data if the job is a Sidekiq::Status::Worker if job_class && job_class.ancestors.include?(Sidekiq::Status::Worker) initial_metadata = { jid: msg['jid'], status: :queued, - worker: Sidekiq::Job.new(msg, queue).display_class, + worker: JOB_CLASS.new(msg, queue).display_class, args: display_args(msg, queue) } store_for_id msg['jid'], initial_metadata, job_class.new.expiration || @expiration, redis_pool end yield end def display_args(msg, queue) - job = Sidekiq::Job.new(msg, queue) + job = JOB_CLASS.new(msg, queue) return job.display_args.to_a.empty? ? nil : job.display_args.to_json rescue Exception => e # For Sidekiq ~> 2.7 return msg['args'].to_a.empty? ? nil : msg['args'].to_json end