Module: GovukSidekiq::SidekiqInitializer

Defined in:
lib/govuk_sidekiq/sidekiq_initializer.rb

Class Method Summary collapse

Class Method Details

.setup_sidekiq(govuk_app_name, redis_host, redis_port) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/govuk_sidekiq/sidekiq_initializer.rb', line 9

def self.setup_sidekiq(govuk_app_name, redis_host, redis_port)
  redis_config = {
    host: redis_host,
    port: redis_port,
    namespace: govuk_app_name,
  }

  Sidekiq.configure_server do |config|
    config.redis = redis_config
    config.error_handlers << Proc.new { |ex, context_hash| Airbrake.notify(ex, context_hash) }

    config.server_middleware do |chain|
      chain.add Sidekiq::Statsd::ServerMiddleware, env: "govuk.app.#{govuk_app_name}", prefix: "workers"
      chain.add GovukSidekiq::APIHeaders::ServerMiddleware
    end
  end

  Sidekiq.configure_client do |config|
    config.redis = redis_config

    config.client_middleware do |chain|
      chain.add GovukSidekiq::APIHeaders::ClientMiddleware
    end
  end

  Sidekiq.logger.formatter = Sidekiq::Logging::Json::Logger.new
end