summaryrefslogtreecommitdiff
path: root/lib/gitlab/sidekiq_queue.rb
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-09-20 13:18:24 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2021-09-20 13:18:24 +0000
commit0653e08efd039a5905f3fa4f6e9cef9f5d2f799c (patch)
tree4dcc884cf6d81db44adae4aa99f8ec1233a41f55 /lib/gitlab/sidekiq_queue.rb
parent744144d28e3e7fddc117924fef88de5d9674fe4c (diff)
downloadgitlab-ce-0653e08efd039a5905f3fa4f6e9cef9f5d2f799c.tar.gz
Add latest changes from gitlab-org/gitlab@14-3-stable-eev14.3.0-rc42
Diffstat (limited to 'lib/gitlab/sidekiq_queue.rb')
-rw-r--r--lib/gitlab/sidekiq_queue.rb15
1 files changed, 13 insertions, 2 deletions
diff --git a/lib/gitlab/sidekiq_queue.rb b/lib/gitlab/sidekiq_queue.rb
index eb3a8e3d497..67a9d8120d8 100644
--- a/lib/gitlab/sidekiq_queue.rb
+++ b/lib/gitlab/sidekiq_queue.rb
@@ -7,6 +7,9 @@ module Gitlab
NoMetadataError = Class.new(StandardError)
InvalidQueueError = Class.new(StandardError)
+ WORKER_KEY = 'worker_class'
+ ALLOWED_KEYS = Gitlab::ApplicationContext::KNOWN_KEYS + [WORKER_KEY]
+
attr_reader :queue_name
def initialize(queue_name)
@@ -21,8 +24,8 @@ module Gitlab
job_search_metadata =
search_metadata
.stringify_keys
- .slice(*Gitlab::ApplicationContext::KNOWN_KEYS)
- .transform_keys { |key| "meta.#{key}" }
+ .slice(*ALLOWED_KEYS)
+ .transform_keys(&method(:transform_key))
.compact
raise NoMetadataError if job_search_metadata.empty?
@@ -49,6 +52,14 @@ module Gitlab
private
+ def transform_key(key)
+ if Gitlab::ApplicationContext::KNOWN_KEYS.include?(key)
+ "meta.#{key}"
+ elsif key == WORKER_KEY
+ 'class'
+ end
+ end
+
def queue
strong_memoize(:queue) do
# Sidekiq::Queue.new always returns a queue, even if it doesn't