diff options
author | Paco Guzman <pacoguzmanp@gmail.com> | 2016-07-01 12:43:48 +0200 |
---|---|---|
committer | Paco Guzman <pacoguzmanp@gmail.com> | 2016-07-01 12:43:48 +0200 |
commit | 98e8189598964dde17b18712781b6a6c17cb84e7 (patch) | |
tree | e260c468b502909599e1b18f431ef4a4d171592e | |
parent | ab81ea1e8177742a0dfed2c7cf922bb03a8b6c51 (diff) | |
download | gitlab-ce-sidekiq-plus-request-store.tar.gz |
Enable RequestStore on Sidekiq workerssidekiq-plus-request-store
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | config/initializers/sidekiq.rb | 1 | ||||
-rw-r--r-- | lib/gitlab/sidekiq_middleware/request_store.rb | 13 |
3 files changed, 15 insertions, 0 deletions
diff --git a/CHANGELOG b/CHANGELOG index 4b754c2aba3..3543fc63e6d 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -21,6 +21,7 @@ v 8.10.0 (unreleased) - Allow importing from Github using Personal Access Tokens. (Eric K Idema) - Fix user creation with stronger minimum password requirements !4054 (nathan-pmt) - PipelinesFinder uses git cache data + - Enable RequestStore on Sidekiq workers - Check for conflicts with existing Project's wiki path when creating a new project. - Remove unused front-end variable -> default_issues_tracker - Better caching of git calls on ProjectsController#show. diff --git a/config/initializers/sidekiq.rb b/config/initializers/sidekiq.rb index 593c14a289f..29ca612422f 100644 --- a/config/initializers/sidekiq.rb +++ b/config/initializers/sidekiq.rb @@ -5,6 +5,7 @@ Sidekiq.configure_server do |config| } config.server_middleware do |chain| + chain.add Gitlab::SidekiqMiddleware::RequestStore if ENV['SIDEKIQ_REQUEST_STORE'] chain.add Gitlab::SidekiqMiddleware::ArgumentsLogger if ENV['SIDEKIQ_LOG_ARGUMENTS'] chain.add Gitlab::SidekiqMiddleware::MemoryKiller if ENV['SIDEKIQ_MEMORY_KILLER_MAX_RSS'] end diff --git a/lib/gitlab/sidekiq_middleware/request_store.rb b/lib/gitlab/sidekiq_middleware/request_store.rb new file mode 100644 index 00000000000..997d8e2ba76 --- /dev/null +++ b/lib/gitlab/sidekiq_middleware/request_store.rb @@ -0,0 +1,13 @@ +module Gitlab + module SidekiqMiddleware + class RequestStore + def call(worker, job, queue) + ::RequestStore.begin! + yield + ensure + ::RequestStore.end! + ::RequestStore.clear! + end + end + end +end |