Skip to content
Snippets Groups Projects
Commit 7d4767fb authored by Grzegorz Bizon's avatar Grzegorz Bizon
Browse files

Extract updating pipeline status to async worker

parent 57863874
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -78,10 +78,14 @@ class CommitStatus < ActiveRecord::Base
end
 
after_transition do |commit_status, transition|
if commit_status.pipeline && !transition.loopback?
ProcessPipelineWorker.perform_async(
commit_status.pipeline.id, process: commit_status.complete?
)
return if transition.loopback?
commit_status.pipeline.try(:id).try do |pipeline_id|
if commit_status.complete?
ProcessPipelineWorker.perform_async(pipeline_id)
end
UpdatePipelineWorker.perform_async(pipeline_id)
end
 
true
Loading
Loading
Loading
Loading
@@ -3,15 +3,10 @@ class ProcessPipelineWorker
 
sidekiq_options queue: :default
 
def perform(pipeline_id, params)
begin
pipeline = Ci::Pipeline.find(pipeline_id)
rescue ActiveRecord::RecordNotFound
return
end
def perform(pipeline_id)
pipeline = Ci::Pipeline.find_by(id: pipeline_id)
return unless pipeline
 
pipeline.process! if params['process']
pipeline.update_status
pipeline.process!
end
end
class UpdatePipelineWorker
include Sidekiq::Worker
sidekiq_options queue: :default
def perform(pipeline_id)
pipeline = Ci::Pipeline.find_by(id: pipeline_id)
return unless pipeline
pipeline.update_status
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment