Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouwe Maan <douwe@selenight.nl>2017-11-28 19:08:30 +0300
committerDouwe Maan <douwe@selenight.nl>2017-12-05 13:59:39 +0300
commit0b15570e497d3c5c515be59a43b686087b985f5c (patch)
tree759ba4c5764145345dce24509a5faf65c6476b9e /app/workers/concerns/application_worker.rb
parent4ca4b0ff702a68a9aed5da70d9170da410eefafa (diff)
Add ApplicationWorker and make every worker include it
Diffstat (limited to 'app/workers/concerns/application_worker.rb')
-rw-r--r--app/workers/concerns/application_worker.rb25
1 files changed, 25 insertions, 0 deletions
diff --git a/app/workers/concerns/application_worker.rb b/app/workers/concerns/application_worker.rb
new file mode 100644
index 00000000000..bf1ecaa0c6d
--- /dev/null
+++ b/app/workers/concerns/application_worker.rb
@@ -0,0 +1,25 @@
+Sidekiq::Worker.extend ActiveSupport::Concern
+
+module ApplicationWorker
+ extend ActiveSupport::Concern
+
+ include Sidekiq::Worker
+
+ included do
+ sidekiq_options queue: base_queue_name
+ end
+
+ module ClassMethods
+ def base_queue_name
+ name
+ .sub(/\AGitlab::/, '')
+ .sub(/Worker\z/, '')
+ .underscore
+ .tr('/', '_')
+ end
+
+ def queue
+ get_sidekiq_options['queue'].to_s
+ end
+ end
+end