summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorYorick Peterse <yorickpeterse@gmail.com>2017-03-07 18:01:20 +0100
committerYorick Peterse <yorickpeterse@gmail.com>2017-03-08 00:25:59 +0100
commitfb697e69f209ce4a9c3d8837797ef5a2a0083596 (patch)
treeac2dfaa8c4138e13a6690b12ec064c3bbc893a9b /config
parent7f2819b778b055278a7fafe9c782d12d09dbd2ea (diff)
downloadgitlab-ce-fb697e69f209ce4a9c3d8837797ef5a2a0083596.tar.gz
Clear AR connections before starting Sidekiq
This should ensure that connections obtained before starting Sidekiq are not leaked, leading to connection timeouts. Fixes gitlab-com/infrastructure#1139
Diffstat (limited to 'config')
-rw-r--r--config/initializers/sidekiq.rb6
1 files changed, 6 insertions, 0 deletions
diff --git a/config/initializers/sidekiq.rb b/config/initializers/sidekiq.rb
index 0c4516b70f0..2b018c68703 100644
--- a/config/initializers/sidekiq.rb
+++ b/config/initializers/sidekiq.rb
@@ -19,6 +19,12 @@ Sidekiq.configure_server do |config|
chain.add Gitlab::SidekiqStatus::ClientMiddleware
end
+ config.on :startup do
+ # Clear any connections that might have been obtained before starting
+ # Sidekiq (e.g. in an initializer).
+ ActiveRecord::Base.clear_all_connections!
+ end
+
# Sidekiq-cron: load recurring jobs from gitlab.yml
# UGLY Hack to get nested hash from settingslogic
cron_jobs = JSON.parse(Gitlab.config.cron_jobs.to_json)