Class: Sidekiq::JobSignal::ServerMiddleware

Inherits:
Object
  • Object
show all
Includes:
ServerMiddleware
Defined in:
lib/sidekiq/job_signal/server_middleware.rb

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ ServerMiddleware

Returns a new instance of ServerMiddleware.



8
9
10
11
# File 'lib/sidekiq/job_signal/server_middleware.rb', line 8

def initialize(options = {})
  @by_jid = options.fetch(:by_jid, true)
  @by_class = options.fetch(:by_class, false)
end

Instance Method Details

#call(job, job_payload, _queue) ⇒ Object



13
14
15
16
17
18
19
20
21
# File 'lib/sidekiq/job_signal/server_middleware.rb', line 13

def call(job, job_payload, _queue)
  signalled = ::Sidekiq::JobSignal.quitting?(**quit_options(job))
  logger.debug "#{self.class}.call: signalled=#{signalled}"
  noop_job(job) if signalled
  yield
ensure
  logger.debug "#{self.class}.call: ensure signalled=#{signalled}"
  ::Sidekiq::JobSignal.handlers.each { |handler| handler.call(job) } if signalled
end