diff --git a/src/bin/scheduler/main.rs b/src/bin/scheduler/main.rs index 17ac859a..3b15648b 100644 --- a/src/bin/scheduler/main.rs +++ b/src/bin/scheduler/main.rs @@ -51,8 +51,7 @@ fn run() -> Result<(), Terminate> { ); if global_config.cancellation_token.is_cancelled() { - info!("Terminated"); - return Ok(()); + return Err(Terminate::Cancelled); } if let Some(grace_period) = args.grace_period { @@ -64,14 +63,17 @@ fn run() -> Result<(), Terminate> { setup::base_directories::setup(&global_config, &plans)?; info!("Base setup completed"); + if global_config.cancellation_token.is_cancelled() { + return Err(Terminate::Cancelled); + } + write_phase(&SchedulerPhase::Setup, &global_config)?; let (plans, setup_failures) = setup::steps::run::run(&global_config, plans)?; write_setup_failures(setup_failures.into_iter(), &global_config)?; info!("Setup steps completed"); if global_config.cancellation_token.is_cancelled() { - info!("Terminated"); - return Ok(()); + return Err(Terminate::Cancelled); } info!("Starting environment building"); @@ -80,15 +82,14 @@ fn run() -> Result<(), Terminate> { info!("Environment building finished"); if global_config.cancellation_token.is_cancelled() { - info!("Terminated"); - return Ok(()); + return Err(Terminate::Cancelled); } info!("Starting plan scheduling"); write_phase(&SchedulerPhase::Scheduling, &global_config)?; scheduling::scheduler::run_plans_and_cleanup(&global_config, &plans); - info!("Terminated"); - Ok(()) + + Err(Terminate::Cancelled) } fn write_phase(