Module: Sciosano::Integrations::Sidekiq

Defined in:
lib/sciosano/integrations/sidekiq.rb

Overview

Sidekiq middleware for capturing job errors

Defined Under Namespace

Classes: ClientMiddleware, ServerMiddleware

Class Method Summary collapse

Class Method Details

.setupObject

Register Sidekiq middleware



127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
# File 'lib/sciosano/integrations/sidekiq.rb', line 127

def self.setup
  ::Sidekiq.configure_server do |config|
    config.server_middleware do |chain|
      chain.add ServerMiddleware
    end

    config.client_middleware do |chain|
      chain.add ClientMiddleware
    end

    # Also register as error handler for guaranteed capture
    # This catches errors even if middleware chain has timing issues
    config.error_handlers << proc do |exception, context|
      next unless Sciosano.client

      Sciosano.capture_exception(exception, {
        tags: {
          "sidekiq.error_handler" => "true"
        },
        extra: {
          sidekiq_context: context
        }
      })
    end
  end

  ::Sidekiq.configure_client do |config|
    config.client_middleware do |chain|
      chain.add ClientMiddleware
    end
  end
end