Improve typing and errors, clean up
This commit is contained in:
parent
07490efc28
commit
ec408aff29
5 changed files with 205 additions and 22 deletions
25
src/main.rs
25
src/main.rs
|
|
@ -32,6 +32,25 @@ enum Commands {
|
|||
},
|
||||
}
|
||||
|
||||
async fn shutdown_signal() {
|
||||
let ctrl_c = tokio::signal::ctrl_c();
|
||||
#[cfg(unix)]
|
||||
{
|
||||
let mut sigterm =
|
||||
tokio::signal::unix::signal(tokio::signal::unix::SignalKind::terminate())
|
||||
.expect("failed to install SIGTERM handler");
|
||||
tokio::select! {
|
||||
_ = ctrl_c => tracing::info!("Received SIGINT, shutting down..."),
|
||||
_ = sigterm.recv() => tracing::info!("Received SIGTERM, shutting down..."),
|
||||
}
|
||||
}
|
||||
#[cfg(not(unix))]
|
||||
{
|
||||
ctrl_c.await.expect("failed to listen for ctrl-c");
|
||||
tracing::info!("Received ctrl-c, shutting down...");
|
||||
}
|
||||
}
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() {
|
||||
tracing_subscriber::fmt::init();
|
||||
|
|
@ -49,7 +68,11 @@ async fn main() {
|
|||
let addr = format!("0.0.0.0:{port}");
|
||||
tracing::info!("Listening on {addr}");
|
||||
let listener = tokio::net::TcpListener::bind(&addr).await.unwrap();
|
||||
axum::serve(listener, app).await.unwrap();
|
||||
axum::serve(listener, app)
|
||||
.with_graceful_shutdown(shutdown_signal())
|
||||
.await
|
||||
.unwrap();
|
||||
tracing::info!("Shutdown complete");
|
||||
}
|
||||
Commands::Rebuild => {
|
||||
mkv::rebuild::run(&args).await;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue