Improve error handling
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
23
src/main.rs
23
src/main.rs
@@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user