handling ctrl-c
This commit is contained in:
parent
9033c80369
commit
c7c6f530a0
@ -66,6 +66,12 @@ async fn main_responder(request: Request<Body>) -> Result<Response<Body>, hyper:
|
|||||||
|
|
||||||
Ok(response)
|
Ok(response)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async fn shutdown_signal() {
|
||||||
|
tokio::signal::ctrl_c()
|
||||||
|
.await
|
||||||
|
.expect("Failed to capture ctrl-c signal");
|
||||||
|
}
|
||||||
#[tokio::main]
|
#[tokio::main]
|
||||||
async fn main() {
|
async fn main() {
|
||||||
dotenv().ok();
|
dotenv().ok();
|
||||||
@ -77,4 +83,8 @@ async fn main() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
let server = Server::bind(&addr).serve(service);
|
let server = Server::bind(&addr).serve(service);
|
||||||
|
let graceful_shutdown = server.with_graceful_shutdown(shutdown_signal());
|
||||||
|
if let Err(e) = graceful_shutdown.await {
|
||||||
|
eprintln!("Server shutdown error: {}", e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user