Add news data support
- Refactor everything in the process, oops Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
33
src/main.rs
33
src/main.rs
@@ -3,9 +3,9 @@
|
||||
#![feature(hash_extract_if)]
|
||||
|
||||
mod config;
|
||||
mod data;
|
||||
mod database;
|
||||
mod routes;
|
||||
mod threads;
|
||||
mod types;
|
||||
mod utils;
|
||||
|
||||
@@ -13,8 +13,7 @@ use crate::utils::cleanup;
|
||||
use config::Config;
|
||||
use dotenv::dotenv;
|
||||
use log4rs::config::Deserializers;
|
||||
use tokio::{spawn, sync::broadcast};
|
||||
use types::{BroadcastMessage, Class};
|
||||
use tokio::{spawn, sync::mpsc};
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() {
|
||||
@@ -24,21 +23,27 @@ async fn main() {
|
||||
|
||||
cleanup(&app_config.clickhouse_client).await;
|
||||
|
||||
let (broadcast_bus, _) = broadcast::channel::<BroadcastMessage>(100);
|
||||
let (asset_status_sender, asset_status_receiver) =
|
||||
mpsc::channel::<threads::data::asset_status::Message>(100);
|
||||
let (clock_sender, clock_receiver) = mpsc::channel::<threads::clock::Message>(1);
|
||||
|
||||
spawn(data::market::run(
|
||||
spawn(threads::data::run(
|
||||
app_config.clone(),
|
||||
Class::UsEquity,
|
||||
broadcast_bus.clone(),
|
||||
asset_status_receiver,
|
||||
clock_receiver,
|
||||
));
|
||||
|
||||
spawn(data::market::run(
|
||||
app_config.clone(),
|
||||
Class::Crypto,
|
||||
broadcast_bus.clone(),
|
||||
));
|
||||
spawn(threads::clock::run(app_config.clone(), clock_sender));
|
||||
|
||||
spawn(data::clock::run(app_config.clone(), broadcast_bus.clone()));
|
||||
let assets = database::assets::select(&app_config.clickhouse_client).await;
|
||||
|
||||
routes::run(app_config, broadcast_bus).await;
|
||||
let (asset_status_message, asset_status_receiver) =
|
||||
threads::data::asset_status::Message::new(threads::data::asset_status::Action::Add, assets);
|
||||
asset_status_sender
|
||||
.send(asset_status_message)
|
||||
.await
|
||||
.unwrap();
|
||||
asset_status_receiver.await.unwrap();
|
||||
|
||||
routes::run(app_config, asset_status_sender).await;
|
||||
}
|
||||
|
Reference in New Issue
Block a user