summaryrefslogtreecommitdiff
path: root/config/initializers/load_balancing.rb
blob: 029c0ff42779b5ee3383e7e19f6d3d4705eb4ef0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# frozen_string_literal: true

# We need to run this initializer after migrations are done so it doesn't fail on CI

Gitlab.ee do
  if ActiveRecord::Base.connected? && ActiveRecord::Base.connection.data_source_exists?('licenses')
    if Gitlab::Database::LoadBalancing.enable?
      Gitlab::Database.disable_prepared_statements

      Gitlab::Application.configure do |config|
        config.middleware.use(Gitlab::Database::LoadBalancing::RackMiddleware)
      end

      Gitlab::Database::LoadBalancing.configure_proxy

      # This needs to be executed after fork of clustered processes
      Gitlab::Cluster::LifecycleEvents.on_worker_start do
        # Service discovery must be started after configuring the proxy, as service
        # discovery depends on this.
        Gitlab::Database::LoadBalancing.start_service_discovery
      end

    end
  end
end