module SidekiqUniqueJobs::Middleware

def self.configure_server # rubocop:disable Metrics/MethodLength

rubocop:disable Metrics/MethodLength

Configures the Sidekiq server
def self.configure_server # rubocop:disable Metrics/MethodLength
  Sidekiq.configure_server do |config|
    config.client_middleware do |chain|
      chain.add SidekiqUniqueJobs::Middleware::Client
    end
    config.server_middleware do |chain|
      chain.add SidekiqUniqueJobs::Middleware::Server
    end
    config.on(:startup) do
      SidekiqUniqueJobs::UpdateVersion.call
      SidekiqUniqueJobs::UpgradeLocks.call
      SidekiqUniqueJobs::Orphans::Manager.start
    end
    config.on(:shutdown) do
      SidekiqUniqueJobs::Orphans::Manager.stop
    end
  end
end