Add live data threads
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
@@ -1,16 +1,22 @@
|
||||
use crate::pool::{alpaca::AlpacaPool, postgres::PostgresPool};
|
||||
use crate::{
|
||||
data::live::AssetMPSCMessage,
|
||||
pool::{alpaca::AlpacaPool, postgres::PostgresPool},
|
||||
};
|
||||
use axum::{
|
||||
routing::{delete, get, post},
|
||||
Extension, Router, Server,
|
||||
};
|
||||
use log::info;
|
||||
use std::net::SocketAddr;
|
||||
use std::{net::SocketAddr, sync::Arc};
|
||||
use tokio::sync::mpsc::Sender;
|
||||
|
||||
pub mod assets;
|
||||
|
||||
pub async fn run_api(
|
||||
postgres_pool: PostgresPool,
|
||||
alpaca_pool: AlpacaPool,
|
||||
stock_live_mpsc_sender: Arc<Sender<AssetMPSCMessage>>,
|
||||
crypto_live_mpsc_sender: Arc<Sender<AssetMPSCMessage>>,
|
||||
) -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
|
||||
let app = Router::new()
|
||||
.route("/assets", get(assets::get_assets))
|
||||
@@ -19,7 +25,9 @@ pub async fn run_api(
|
||||
.route("/assets/:symbol", post(assets::update_asset))
|
||||
.route("/assets/:symbol", delete(assets::delete_asset))
|
||||
.layer(Extension(postgres_pool))
|
||||
.layer(Extension(alpaca_pool));
|
||||
.layer(Extension(alpaca_pool))
|
||||
.layer(Extension(stock_live_mpsc_sender))
|
||||
.layer(Extension(crypto_live_mpsc_sender));
|
||||
|
||||
let addr = SocketAddr::from(([0, 0, 0, 0], 7878));
|
||||
info!("Listening on {}...", addr);
|
||||
|
Reference in New Issue
Block a user