From 98e8189598964dde17b18712781b6a6c17cb84e7 Mon Sep 17 00:00:00 2001 From: Paco Guzman Date: Fri, 1 Jul 2016 12:43:48 +0200 Subject: Enable RequestStore on Sidekiq workers --- CHANGELOG | 1 + config/initializers/sidekiq.rb | 1 + lib/gitlab/sidekiq_middleware/request_store.rb | 13 +++++++++++++ 3 files changed, 15 insertions(+) create mode 100644 lib/gitlab/sidekiq_middleware/request_store.rb 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 -- cgit v1.2.1