Class: NatsWork::Middleware::ErrorHandler

Inherits:
Object
  • Object
show all
Defined in:
lib/natswork/middleware.rb

Instance Method Summary collapse

Constructor Details

#initialize(on_error: nil) ⇒ ErrorHandler

Returns a new instance of ErrorHandler.



100
101
102
# File 'lib/natswork/middleware.rb', line 100

def initialize(on_error: nil)
  @on_error = on_error
end

Instance Method Details

#call(job, message) ⇒ Object



104
105
106
107
108
109
110
111
112
113
114
115
# File 'lib/natswork/middleware.rb', line 104

def call(job, message)
  yield
rescue StandardError => e
  message['error'] = {
    'type' => e.class.name,
    'message' => e.message
  }

  @on_error&.call(job, message, e)

  raise
end