Class: Sidekiq::ExpectedFailures::Middleware

Inherits:
Object
  • Object
show all
Includes:
ExceptionHandler
Defined in:
lib/sidekiq/expected_failures/middleware.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#handled_exceptionsObject (readonly)

Returns the value of attribute handled_exceptions.



7
8
9
# File 'lib/sidekiq/expected_failures/middleware.rb', line 7

def handled_exceptions
  @handled_exceptions
end

Instance Method Details

#call(worker, msg, queue) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/sidekiq/expected_failures/middleware.rb', line 9

def call(worker, msg, queue)
  setup_exceptions(worker)

  yield

  rescue *handled_exceptions.keys => ex
    data = {
      failed_at: Time.now.strftime("%Y/%m/%d %H:%M:%S %Z"),
      args:      msg['args'],
      exception: ex.class.to_s,
      error:     ex.message,
      worker:    msg['class'],
      queue:     queue
    }

    log_exception(data, ex, msg)
end