diff options
author | Yorick Peterse <yorickpeterse@gmail.com> | 2017-03-07 18:01:20 +0100 |
---|---|---|
committer | Yorick Peterse <yorickpeterse@gmail.com> | 2017-03-07 20:21:26 +0100 |
commit | 520de378f466c899ae273db4559ee9af35b4a062 (patch) | |
tree | 5caf18dc3be25987a4527b56e9a51b14c988ded0 | |
parent | 57e709757f601878d2a688d092de1b1c97bdff7a (diff) | |
download | gitlab-ce-clear-connections-before-starting-sidekiq.tar.gz |
Clear AR connections before starting Sidekiqclear-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
-rw-r--r-- | changelogs/unreleased/clear-connections-before-starting-sidekiq.yml | 4 | ||||
-rw-r--r-- | config/initializers/sidekiq.rb | 6 |
2 files changed, 10 insertions, 0 deletions
diff --git a/changelogs/unreleased/clear-connections-before-starting-sidekiq.yml b/changelogs/unreleased/clear-connections-before-starting-sidekiq.yml new file mode 100644 index 00000000000..8778fac6e9d --- /dev/null +++ b/changelogs/unreleased/clear-connections-before-starting-sidekiq.yml @@ -0,0 +1,4 @@ +--- +title: Clear ActiveRecord connections before starting Sidekiq +merge_request: +author: 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) |