From 463f1a12875d909afd901de9cabb038793e403e7 Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Tue, 16 Jul 2024 06:49:47 +0000 Subject: [PATCH] only use graceful shutdown w/ axum-server fixed Signed-off-by: Jason Volk --- src/router/run.rs | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/router/run.rs b/src/router/run.rs index 91507772..cb5d2abf 100644 --- a/src/router/run.rs +++ b/src/router/run.rs @@ -12,7 +12,7 @@ extern crate conduit_service as service; use std::sync::atomic::Ordering; -use conduit::{debug, debug_info, error, info, trace, Error, Result, Server}; +use conduit::{debug, debug_info, error, info, Error, Result, Server}; use crate::serve; @@ -103,20 +103,20 @@ async fn signal(server: Arc, tx: Sender<()>, handle: axum_server::Handle } async fn handle_shutdown(server: &Arc, tx: &Sender<()>, handle: &axum_server::Handle, sig: &str) { - debug!("Received signal {}", sig); + debug!("Received signal {sig}"); if let Err(e) = tx.send(()) { error!("failed sending shutdown transaction to channel: {e}"); } - let pending = server.metrics.requests_spawn_active.load(Ordering::Relaxed); - if pending > 0 { - let timeout = Duration::from_secs(36); - trace!(pending, ?timeout, "Notifying for graceful shutdown"); - handle.graceful_shutdown(Some(timeout)); - } else { - debug!(pending, "Notifying for immediate shutdown"); - handle.shutdown(); - } + let timeout = Duration::from_secs(36); + debug!( + ?timeout, + spawn_active = ?server.metrics.requests_spawn_active.load(Ordering::Relaxed), + handle_active = ?server.metrics.requests_handle_active.load(Ordering::Relaxed), + "Notifying for graceful shutdown" + ); + + handle.graceful_shutdown(Some(timeout)); } async fn handle_services_poll(