Module: Gitlab::Database::LoadBalancing::ActionCableCallbacks

Defined in:
lib/gitlab/database/load_balancing/action_cable_callbacks.rb

Class Method Summary collapse

Class Method Details

.installObject



7
8
9
# File 'lib/gitlab/database/load_balancing/action_cable_callbacks.rb', line 7

def self.install
  ::ActionCable::Server::Worker.set_callback :work, :around, &wrapper
end

.wrapperObject



11
12
13
14
15
16
17
18
# File 'lib/gitlab/database/load_balancing/action_cable_callbacks.rb', line 11

def self.wrapper
  lambda do |_, inner|
    inner.call
  ensure
    ::Gitlab::Database::LoadBalancing.release_hosts
    ::Gitlab::Database::LoadBalancing::Session.clear_session
  end
end