Improve error handling

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2024-01-20 11:57:55 +00:00
parent 7200447bc5
commit 2d14fe35c8
12 changed files with 191 additions and 154 deletions

View File

@@ -1,5 +1,6 @@
#![warn(clippy::all, clippy::pedantic, clippy::nursery)]
#![allow(clippy::missing_docs_in_private_items)]
#![feature(hash_extract_if)]
mod config;
mod data;
@@ -14,38 +15,30 @@ use config::Config;
use dotenv::dotenv;
use log4rs::config::Deserializers;
use state::BroadcastMessage;
use std::error::Error;
use tokio::{spawn, sync::broadcast};
use types::Class;
#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
async fn main() {
dotenv().ok();
log4rs::init_file("log4rs.yaml", Deserializers::default())?;
log4rs::init_file("log4rs.yaml", Deserializers::default()).unwrap();
let app_config = Config::arc_from_env();
let mut threads = Vec::new();
cleanup(&app_config.clickhouse_client).await;
let (broadcast_bus, _) = broadcast::channel::<BroadcastMessage>(100);
threads.push(spawn(data::market::run(
spawn(data::market::run(
app_config.clone(),
Class::UsEquity,
broadcast_bus.clone(),
)));
));
threads.push(spawn(data::market::run(
spawn(data::market::run(
app_config.clone(),
Class::Crypto,
broadcast_bus.clone(),
)));
));
threads.push(spawn(routes::run(app_config.clone(), broadcast_bus)));
for thread in threads {
thread.await?;
}
unreachable!()
routes::run(app_config, broadcast_bus).await;
}