diff options
author | Shinya Maeda <shinya@gitlab.com> | 2019-05-27 19:21:36 +0700 |
---|---|---|
committer | Shinya Maeda <shinya@gitlab.com> | 2019-06-04 10:51:32 +0700 |
commit | 197a3d053359e66535c41935eac065ee424cbb07 (patch) | |
tree | 65b2010d5446fe8c41a378c0f9c7f359ae1eab69 /app/workers | |
parent | 9a9c947b145e6a43ae49687aa398d1154d07a25b (diff) | |
download | gitlab-ce-197a3d053359e66535c41935eac065ee424cbb07.tar.gz |
Introduce sidekiq worker for auto merge processintroduce-auto-merge-process-worker
As we have a central domain for auto merge process today,
we should use a single worker for any auto merge process.
Diffstat (limited to 'app/workers')
-rw-r--r-- | app/workers/all_queues.yml | 2 | ||||
-rw-r--r-- | app/workers/auto_merge_process_worker.rb | 14 | ||||
-rw-r--r-- | app/workers/pipeline_success_worker.rb | 9 |
3 files changed, 17 insertions, 8 deletions
diff --git a/app/workers/all_queues.yml b/app/workers/all_queues.yml index e4e85de93da..fd0cc5fb24e 100644 --- a/app/workers/all_queues.yml +++ b/app/workers/all_queues.yml @@ -1,6 +1,8 @@ --- - auto_devops:auto_devops_disable +- auto_merge:auto_merge_process + - cronjob:admin_email - cronjob:expire_build_artifacts - cronjob:gitlab_usage_ping diff --git a/app/workers/auto_merge_process_worker.rb b/app/workers/auto_merge_process_worker.rb new file mode 100644 index 00000000000..cd81cdbc60c --- /dev/null +++ b/app/workers/auto_merge_process_worker.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +class AutoMergeProcessWorker + include ApplicationWorker + + queue_namespace :auto_merge + + def perform(merge_request_id) + MergeRequest.find_by_id(merge_request_id).try do |merge_request| + AutoMergeService.new(merge_request.project, merge_request.merge_user) + .process(merge_request) + end + end +end diff --git a/app/workers/pipeline_success_worker.rb b/app/workers/pipeline_success_worker.rb index ce6c88c85c1..666331e6cd4 100644 --- a/app/workers/pipeline_success_worker.rb +++ b/app/workers/pipeline_success_worker.rb @@ -6,14 +6,7 @@ class PipelineSuccessWorker queue_namespace :pipeline_processing - # rubocop: disable CodeReuse/ActiveRecord def perform(pipeline_id) - Ci::Pipeline.find_by(id: pipeline_id).try do |pipeline| - pipeline.all_merge_requests.preload(:merge_user).each do |merge_request| - AutoMergeService.new(pipeline.project, merge_request.merge_user) - .process(merge_request) - end - end + # no-op end - # rubocop: enable CodeReuse/ActiveRecord end |