Add logging on shutdown

This commit is contained in:
pawan
2020-05-15 14:18:00 +05:30
parent 2f4acb9112
commit 3bcd46daa2
4 changed files with 39 additions and 10 deletions

View File

@@ -251,8 +251,13 @@ where
.ok_or_else(|| "node timer requires a chain spec".to_string())?
.milliseconds_per_slot;
let timer_exit = timer::spawn(&context.runtime_handle, beacon_chain, milliseconds_per_slot)
.map_err(|e| format!("Unable to start node timer: {}", e))?;
let timer_exit = timer::spawn(
&context.runtime_handle,
beacon_chain,
milliseconds_per_slot,
context.log.clone(),
)
.map_err(|e| format!("Unable to start node timer: {}", e))?;
self.exit_channels.push(timer_exit);

View File

@@ -31,6 +31,7 @@ pub fn spawn_notifier<T: BeaconChainTypes>(
milliseconds_per_slot: u64,
log: slog::Logger,
) -> Result<tokio::sync::oneshot::Sender<()>, String> {
let log_1 = log.clone();
let slot_duration = Duration::from_millis(milliseconds_per_slot);
let duration_to_next_slot = beacon_chain
.slot_clock
@@ -149,8 +150,16 @@ pub fn spawn_notifier<T: BeaconChainTypes>(
let (exit_signal, exit) = tokio::sync::oneshot::channel();
let exit_future = async move {
let _ = exit.await.ok();
info!(log_1, "Notifier service shutdown");
};
// run the notifier on the current executor
handle.spawn(futures::future::select(Box::pin(interval_future), exit));
handle.spawn(futures::future::select(
Box::pin(interval_future),
Box::pin(exit_future),
));
Ok(exit_signal)
}