class RooOnRails::Railties::SidekiqIntegration

Public Instance Methods

add_middleware(app) click to toggle source
# File lib/roo_on_rails/railties/sidekiq_integration.rb, line 44
def add_middleware(app)
  $stderr.puts 'HIREFIRE_TOKEN set'
  app.middleware.use HireFire::Middleware
  HireFire::Resource.configure do |config|
    config.dyno(:worker) do
      RooOnRails::Sidekiq::SlaMetric.queue
    end
  end
end
config_sidekiq() click to toggle source
# File lib/roo_on_rails/railties/sidekiq_integration.rb, line 22
def config_sidekiq
  ::Sidekiq.configure_server do |x|
    x.options[:concurrency] = RooOnRails::Sidekiq::Settings.concurrency.to_i
    x.options[:queues] = RooOnRails::Sidekiq::Settings.queues
  end
end
config_sidekiq_metrics() click to toggle source
# File lib/roo_on_rails/railties/sidekiq_integration.rb, line 29
def config_sidekiq_metrics
  # https://github.com/mperham/sidekiq/wiki/Pro-Metrics
  require 'sidekiq-pro'
  ::Sidekiq::Pro.dogstatsd = -> { RooOnRails.statsd }

  ::Sidekiq.configure_server do |config|
    config.server_middleware do |chain|
      require 'sidekiq/middleware/server/statsd'
      chain.add ::Sidekiq::Middleware::Server::Statsd
    end
  end
rescue LoadError
  Rails.logger.warn 'Sidekiq metrics unavailable without Sidekiq Pro'
end