35 lines
1.1 KiB
Ruby
35 lines
1.1 KiB
Ruby
# Monkey patch `stringify_keys` to make rack 2.1.1 compatible with Sidekiq UI Admin panel.
|
|
# Should be removed when 2.1.2 is released.
|
|
# https://github.com/rack/rack/pull/1428
|
|
module Rack
|
|
module Session
|
|
module Abstract
|
|
class SessionHash
|
|
private
|
|
|
|
def stringify_keys(other)
|
|
other.to_hash.transform_keys(&:to_s)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
require Rails.root.join("lib/sidekiq/worker_retries_exhausted_reporter")
|
|
|
|
Sidekiq.configure_server do |config|
|
|
sidekiq_url = ApplicationConfig["REDIS_SIDEKIQ_URL"] || ApplicationConfig["REDIS_URL"]
|
|
# On Heroku this configuration is overridden and Sidekiq will point at the redis
|
|
# instance given by the ENV variable REDIS_PROVIDER
|
|
config.redis = { url: sidekiq_url }
|
|
|
|
config.server_middleware do |chain|
|
|
chain.add Sidekiq::HoneycombMiddleware
|
|
end
|
|
|
|
# This allows us to define custom logic to handle when a worker has exhausted all
|
|
# of it's retries. For more details: https://github.com/mperham/sidekiq/wiki/Error-Handling#death-notification
|
|
config.death_handlers << lambda do |job, _ex|
|
|
Sidekiq::WorkerRetriesExhaustedReporter.report_final_failure(job)
|
|
end
|
|
end
|