28 lines
		
	
	
		
			783 B
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			783 B
		
	
	
	
		
			Ruby
		
	
	
	
# frozen_string_literal: true
 | 
						|
 | 
						|
module Gitlab
 | 
						|
  module SidekiqVersioning
 | 
						|
    def self.install!
 | 
						|
      Sidekiq::Manager.prepend SidekiqVersioning::Manager
 | 
						|
 | 
						|
      # The Sidekiq client API always adds the queue to the Sidekiq queue
 | 
						|
      # list, but mail_room and gitlab-shell do not. This is only necessary
 | 
						|
      # for monitoring.
 | 
						|
      begin
 | 
						|
        queues = SidekiqConfig.worker_queues
 | 
						|
 | 
						|
        if queues.any?
 | 
						|
          Sidekiq.redis do |conn|
 | 
						|
            conn.pipelined do
 | 
						|
              queues.each do |queue|
 | 
						|
                conn.sadd('queues', queue)
 | 
						|
              end
 | 
						|
            end
 | 
						|
          end
 | 
						|
        end
 | 
						|
      rescue ::Redis::BaseError, SocketError, Errno::ENOENT, Errno::EADDRNOTAVAIL, Errno::EAFNOSUPPORT, Errno::ECONNRESET, Errno::ECONNREFUSED
 | 
						|
      end
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 |