Skip to content

Commit

Permalink
Merge pull request #95 from golemfactory/fix/set-status-on-termination
Browse files Browse the repository at this point in the history
Set status on termination
  • Loading branch information
nieznanysprawiciel authored Apr 11, 2024
2 parents d568370 + fe3a5f8 commit bbc842b
Showing 1 changed file with 10 additions and 5 deletions.
15 changes: 10 additions & 5 deletions src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -175,10 +175,14 @@ async fn try_main() -> anyhow::Result<()> {

let (signal_sender, signal_receiver) = mpsc::channel::<Signal>(1);

select! {
res = handle_cli(cli, signal_receiver) => res,
res = handle_signals(signal_sender) => res,
}
tokio::task::spawn_local(async move {
handle_signals(signal_sender)
.await
.inspect_err(|e| log::error!("Error waiting for signal: {e}"))
.ok();
});

handle_cli(cli, signal_receiver).await
}

async fn handle_cli(cli: Cli, signal_receiver: Receiver<Signal>) -> anyhow::Result<()> {
Expand Down Expand Up @@ -487,12 +491,13 @@ async fn run<RUNTIME: process::Runtime + Clone + Unpin + 'static>(
}
.context("Activity loop error")?;

log::info!("Finished waiting");
log::info!("Finished waiting for activity loop.");
send_state(
&ctx,
ActivityState::from(StatePair(State::Terminated, None)),
)
.await?;

log::info!("Activity state set to terminated.");
Ok(())
}

0 comments on commit bbc842b

Please sign in to comment.