2018-06-27 07:23:28 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2021-06-14 15:09:48 +00:00
|
|
|
class PipelineProcessWorker
|
2017-11-28 16:08:30 +00:00
|
|
|
include ApplicationWorker
|
2021-04-30 18:10:09 +00:00
|
|
|
|
|
|
|
sidekiq_options retry: 3
|
2016-10-21 16:13:41 +00:00
|
|
|
include PipelineQueue
|
2016-09-19 13:03:51 +00:00
|
|
|
|
2017-11-28 16:16:50 +00:00
|
|
|
queue_namespace :pipeline_processing
|
2019-10-18 11:11:44 +00:00
|
|
|
feature_category :continuous_integration
|
2020-03-02 18:07:42 +00:00
|
|
|
urgency :high
|
2020-06-12 12:08:56 +00:00
|
|
|
loggable_arguments 1
|
2021-06-14 15:09:48 +00:00
|
|
|
|
|
|
|
idempotent!
|
|
|
|
deduplicate :until_executing, feature_flag: :ci_idempotent_pipeline_process_worker
|
2017-08-21 12:02:20 +00:00
|
|
|
|
2018-08-27 15:31:01 +00:00
|
|
|
# rubocop: disable CodeReuse/ActiveRecord
|
2021-06-08 18:10:23 +00:00
|
|
|
def perform(pipeline_id)
|
2019-08-02 17:31:01 +00:00
|
|
|
Ci::Pipeline.find_by(id: pipeline_id).try do |pipeline|
|
2019-11-19 12:06:00 +00:00
|
|
|
Ci::ProcessPipelineService
|
|
|
|
.new(pipeline)
|
2020-08-13 15:10:03 +00:00
|
|
|
.execute
|
2019-08-02 17:31:01 +00:00
|
|
|
end
|
2016-09-19 13:03:51 +00:00
|
|
|
end
|
2018-08-27 15:31:01 +00:00
|
|
|
# rubocop: enable CodeReuse/ActiveRecord
|
2016-09-19 13:03:51 +00:00
|
|
|
end
|