Log caught Ctrl+C or SIGTERM for operator feedback
This commit is contained in:
parent
237645e975
commit
3b2b35aab7
1 changed files with 6 additions and 2 deletions
|
@ -37,6 +37,7 @@ use tower_http::{
|
||||||
trace::TraceLayer,
|
trace::TraceLayer,
|
||||||
ServiceBuilderExt as _,
|
ServiceBuilderExt as _,
|
||||||
};
|
};
|
||||||
|
use tracing::warn;
|
||||||
use tracing_subscriber::{prelude::*, EnvFilter};
|
use tracing_subscriber::{prelude::*, EnvFilter};
|
||||||
|
|
||||||
pub use conduit::*; // Re-export everything from the library crate
|
pub use conduit::*; // Re-export everything from the library crate
|
||||||
|
@ -346,11 +347,14 @@ async fn shutdown_signal(handle: ServerHandle) {
|
||||||
#[cfg(not(unix))]
|
#[cfg(not(unix))]
|
||||||
let terminate = std::future::pending::<()>();
|
let terminate = std::future::pending::<()>();
|
||||||
|
|
||||||
|
let sig: &str;
|
||||||
|
|
||||||
tokio::select! {
|
tokio::select! {
|
||||||
_ = ctrl_c => {},
|
_ = ctrl_c => { sig = "Ctrl+C"; },
|
||||||
_ = terminate => {},
|
_ = terminate => { sig = "SIGTERM"; },
|
||||||
}
|
}
|
||||||
|
|
||||||
|
warn!("Received {}, shutting down...", sig);
|
||||||
handle.graceful_shutdown(Some(Duration::from_secs(30)));
|
handle.graceful_shutdown(Some(Duration::from_secs(30)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue