Make schedule and unschedule consistent

This commit is contained in:
Shinya Maeda 2018-09-18 15:53:31 +09:00 committed by Alessio Caiazza
parent e265fc3e28
commit 22e00b08e8
2 changed files with 8 additions and 11 deletions

View File

@ -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

View File

@ -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