class Sidekiq::Congestion::Request
Attributes
args[RW]
options[RW]
worker[RW]
Public Class Methods
new(worker, job, queue)
click to toggle source
# File lib/sidekiq/congestion/request.rb, line 13 def initialize(worker, job, queue) self.worker = worker self.args = job['args'] opts = worker.sidekiq_options_hash || { } self.options = opts['congestion'] end
Public Instance Methods
congestion()
click to toggle source
# File lib/sidekiq/congestion/request.rb, line 43 def congestion @congestion ||= ::Congestion.request key, options end
enabled?()
click to toggle source
# File lib/sidekiq/congestion/request.rb, line 20 def enabled? !!options && _enabled? end
key()
click to toggle source
# File lib/sidekiq/congestion/request.rb, line 32 def key @key ||= case options[:key] when Proc options[:key].call *args when String, Symbol options[:key].to_s else worker.class.name end end
reschedule!()
click to toggle source
# File lib/sidekiq/congestion/request.rb, line 28 def reschedule! worker.class.perform_in backoff, *args end
reschedule?()
click to toggle source
# File lib/sidekiq/congestion/request.rb, line 24 def reschedule? rejection_method == :reschedule end
Protected Instance Methods
_enabled?()
click to toggle source
# File lib/sidekiq/congestion/request.rb, line 49 def _enabled? case options[:enabled] when Proc options[:enabled].call *args when nil true else !!options[:enabled] end end
rejection_method()
click to toggle source
# File lib/sidekiq/congestion/request.rb, line 60 def rejection_method options.fetch(:reject_with, :reschedule).to_sym end