2018-11-08 19:23:39 +05:30
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2018-03-17 18:26:18 +05:30
|
|
|
class RunPipelineScheduleWorker
|
|
|
|
include ApplicationWorker
|
|
|
|
include PipelineQueue
|
|
|
|
|
|
|
|
queue_namespace :pipeline_creation
|
|
|
|
|
2018-12-05 23:21:45 +05:30
|
|
|
# rubocop: disable CodeReuse/ActiveRecord
|
2018-03-17 18:26:18 +05:30
|
|
|
def perform(schedule_id, user_id)
|
|
|
|
schedule = Ci::PipelineSchedule.find_by(id: schedule_id)
|
|
|
|
user = User.find_by(id: user_id)
|
|
|
|
|
|
|
|
return unless schedule && user
|
|
|
|
|
|
|
|
run_pipeline_schedule(schedule, user)
|
|
|
|
end
|
2018-12-05 23:21:45 +05:30
|
|
|
# rubocop: enable CodeReuse/ActiveRecord
|
2018-03-17 18:26:18 +05:30
|
|
|
|
|
|
|
def run_pipeline_schedule(schedule, user)
|
|
|
|
Ci::CreatePipelineService.new(schedule.project,
|
|
|
|
user,
|
|
|
|
ref: schedule.ref)
|
|
|
|
.execute(:schedule, ignore_skip_ci: true, save_on_errors: false, schedule: schedule)
|
|
|
|
end
|
|
|
|
end
|