From 22e00b08e89f72eb0fefea2d1d623667c4461773 Mon Sep 17 00:00:00 2001 From: Shinya Maeda Date: Tue, 18 Sep 2018 15:53:31 +0900 Subject: [PATCH] Make schedule and unschedule consistent --- app/models/ci/build.rb | 10 +++++----- app/workers/ci/build_schedule_worker.rb | 9 +++------ 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/app/models/ci/build.rb b/app/models/ci/build.rb index 6ea574ed8ec..b608bfdb8b9 100644 --- a/app/models/ci/build.rb +++ b/app/models/ci/build.rb @@ -187,7 +187,7 @@ module Ci after_transition any => [:manual] do |build| build.run_after_commit do - build.schedule + build.schedule! end end @@ -241,17 +241,17 @@ module Ci end def scheduled? - build.build_schedule.exist? + build_schedule.present? end - def schedule + def schedule! return unless schedulable? create_build_schedule!(execute_at: execute_at) end - def unschedule - build&.build_schedule&.delete + def unschedule! + build_schedule.delete! end def execute_at diff --git a/app/workers/ci/build_schedule_worker.rb b/app/workers/ci/build_schedule_worker.rb index 9f81aa3c71e..84ef2edb767 100644 --- a/app/workers/ci/build_schedule_worker.rb +++ b/app/workers/ci/build_schedule_worker.rb @@ -7,13 +7,10 @@ module Ci def perform(build_id) ::Ci::Build.preload(:build_schedule).find_by(id: build_id).try do |build| - break unless build.build_schedule.present? + break unless build.scheduled? - begin - Ci::PlayBuildService.new(build.project, build.user).execute(build) - ensure - build.unschedule - end + build.unschedule! + Ci::PlayBuildService.new(build.project, build.user).execute(build) end end end