forked from mirrors/relay
Wrap whole main in actix_rt, fixes opentelemetry
This commit is contained in:
parent
4d8e1a7241
commit
b5dc3e7c08
1 changed files with 10 additions and 10 deletions
20
src/main.rs
20
src/main.rs
|
@ -2,6 +2,7 @@
|
||||||
#![allow(clippy::needless_borrow)]
|
#![allow(clippy::needless_borrow)]
|
||||||
|
|
||||||
use activitystreams::iri_string::types::IriString;
|
use activitystreams::iri_string::types::IriString;
|
||||||
|
use actix_rt::task::JoinHandle;
|
||||||
use actix_web::{middleware::Compress, web, App, HttpServer};
|
use actix_web::{middleware::Compress, web, App, HttpServer};
|
||||||
use collector::MemoryCollector;
|
use collector::MemoryCollector;
|
||||||
#[cfg(feature = "console")]
|
#[cfg(feature = "console")]
|
||||||
|
@ -94,7 +95,8 @@ fn init_subscriber(
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() -> Result<(), anyhow::Error> {
|
#[actix_rt::main]
|
||||||
|
async fn main() -> Result<(), anyhow::Error> {
|
||||||
dotenv::dotenv().ok();
|
dotenv::dotenv().ok();
|
||||||
|
|
||||||
let config = Config::build()?;
|
let config = Config::build()?;
|
||||||
|
@ -106,7 +108,7 @@ fn main() -> Result<(), anyhow::Error> {
|
||||||
let args = Args::new();
|
let args = Args::new();
|
||||||
|
|
||||||
if args.any() {
|
if args.any() {
|
||||||
return client_main(config, args);
|
return client_main(config, args).await?;
|
||||||
}
|
}
|
||||||
|
|
||||||
tracing::warn!("Opening DB");
|
tracing::warn!("Opening DB");
|
||||||
|
@ -116,16 +118,15 @@ fn main() -> Result<(), anyhow::Error> {
|
||||||
let actors = ActorCache::new(db.clone());
|
let actors = ActorCache::new(db.clone());
|
||||||
let media = MediaCache::new(db.clone());
|
let media = MediaCache::new(db.clone());
|
||||||
|
|
||||||
server_main(db, actors, media, collector, config)?;
|
server_main(db, actors, media, collector, config).await??;
|
||||||
|
|
||||||
tracing::warn!("Application exit");
|
tracing::warn!("Application exit");
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
#[actix_rt::main]
|
fn client_main(config: Config, args: Args) -> JoinHandle<Result<(), anyhow::Error>> {
|
||||||
async fn client_main(config: Config, args: Args) -> Result<(), anyhow::Error> {
|
actix_rt::spawn(do_client_main(config, args))
|
||||||
actix_rt::spawn(do_client_main(config, args)).await?
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn do_client_main(config: Config, args: Args) -> Result<(), anyhow::Error> {
|
async fn do_client_main(config: Config, args: Args) -> Result<(), anyhow::Error> {
|
||||||
|
@ -174,15 +175,14 @@ async fn do_client_main(config: Config, args: Args) -> Result<(), anyhow::Error>
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
#[actix_rt::main]
|
fn server_main(
|
||||||
async fn server_main(
|
|
||||||
db: Db,
|
db: Db,
|
||||||
actors: ActorCache,
|
actors: ActorCache,
|
||||||
media: MediaCache,
|
media: MediaCache,
|
||||||
collector: MemoryCollector,
|
collector: MemoryCollector,
|
||||||
config: Config,
|
config: Config,
|
||||||
) -> Result<(), anyhow::Error> {
|
) -> JoinHandle<Result<(), anyhow::Error>> {
|
||||||
actix_rt::spawn(do_server_main(db, actors, media, collector, config)).await?
|
actix_rt::spawn(do_server_main(db, actors, media, collector, config))
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn do_server_main(
|
async fn do_server_main(
|
||||||
|
|
Loading…
Reference in a new issue