Compare commits
2 commits
01984c9e98
...
6a6a340618
Author | SHA1 | Date | |
---|---|---|---|
6a6a340618 | |||
65f5301a4f |
2 changed files with 17 additions and 9 deletions
2
Cargo.lock
generated
2
Cargo.lock
generated
|
@ -4873,7 +4873,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "upub-web"
|
name = "upub-web"
|
||||||
version = "0.1.0"
|
version = "0.3.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"apb",
|
"apb",
|
||||||
"base64 0.22.1",
|
"base64 0.22.1",
|
||||||
|
|
24
main.rs
24
main.rs
|
@ -167,21 +167,27 @@ async fn init(args: Args, config: upub::Config) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
let ctx = upub::Context::new(db, domain, config.clone())
|
||||||
|
.await.expect("failed creating server context");
|
||||||
|
|
||||||
|
#[cfg(feature = "cli")]
|
||||||
|
if let Mode::Cli { command } = args.command {
|
||||||
|
cli::run(ctx, command)
|
||||||
|
.await.expect("failed running cli task");
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// register signal handler only for long-lasting modes, such as server or worker
|
||||||
let (tx, rx) = tokio::sync::watch::channel(false);
|
let (tx, rx) = tokio::sync::watch::channel(false);
|
||||||
let signals = Signals::new([SIGTERM, SIGINT]).expect("failed registering signal handler");
|
let signals = Signals::new([SIGTERM, SIGINT]).expect("failed registering signal handler");
|
||||||
let handle = signals.handle();
|
let handle = signals.handle();
|
||||||
let signals_task = tokio::spawn(handle_signals(signals, tx));
|
let signals_task = tokio::spawn(handle_signals(signals, tx));
|
||||||
let stop = CancellationToken(rx);
|
let stop = CancellationToken(rx);
|
||||||
|
|
||||||
let ctx = upub::Context::new(db, domain, config.clone())
|
|
||||||
.await.expect("failed creating server context");
|
|
||||||
|
|
||||||
match args.command {
|
match args.command {
|
||||||
#[cfg(feature = "cli")]
|
|
||||||
Mode::Cli { command } =>
|
|
||||||
cli::run(ctx, command)
|
|
||||||
.await.expect("failed running cli task"),
|
|
||||||
|
|
||||||
#[cfg(feature = "serve")]
|
#[cfg(feature = "serve")]
|
||||||
Mode::Serve { bind } =>
|
Mode::Serve { bind } =>
|
||||||
routes::serve(ctx, bind, stop)
|
routes::serve(ctx, bind, stop)
|
||||||
|
@ -203,6 +209,8 @@ async fn init(args: Args, config: upub::Config) {
|
||||||
Mode::Config => unreachable!(),
|
Mode::Config => unreachable!(),
|
||||||
#[cfg(feature = "migrate")]
|
#[cfg(feature = "migrate")]
|
||||||
Mode::Migrate => unreachable!(),
|
Mode::Migrate => unreachable!(),
|
||||||
|
#[cfg(feature = "cli")]
|
||||||
|
Mode::Cli { .. } => unreachable!(),
|
||||||
}
|
}
|
||||||
|
|
||||||
handle.close();
|
handle.close();
|
||||||
|
|
Loading…
Reference in a new issue