fix: 🚑 make rustlers start blocking

This commit is contained in:
Lucas Colombo 2024-06-05 08:17:51 -03:00
parent c2a0d803a2
commit fb492c6b91
Signed by: lucas
GPG Key ID: EF34786CFEFFAE35

View File

@ -11,6 +11,7 @@ use {
}, },
eyre::Result, eyre::Result,
lool::{ lool::{
fail,
logger::{info, warn}, logger::{info, warn},
sched::{ sched::{
recur, ruleset, scheduler::tokio::Scheduler, utils::parse_time, RecurrenceRuleSet, recur, ruleset, scheduler::tokio::Scheduler, utils::parse_time, RecurrenceRuleSet,
@ -18,10 +19,7 @@ use {
}, },
}, },
std::sync::Arc, std::sync::Arc,
tokio::{ tokio::sync::{mpsc::Sender, Mutex},
spawn,
sync::{mpsc::Sender, Mutex},
},
}; };
/// **🐎 » Rustler Message** /// **🐎 » Rustler Message**
@ -103,22 +101,19 @@ where
self.schedule_rustler_for((market, tickers), sender.clone()).await?; self.schedule_rustler_for((market, tickers), sender.clone()).await?;
} }
// NOTE: if we wanted to stop all the rustlers for good for some reason, we should
// use a select! instead and listen for a stop signal coming from somewhere
let mut publisher = self.publisher.clone(); let mut publisher = self.publisher.clone();
spawn(async move {
while let Some(msg) = receiver.recv().await { while let Some(msg) = receiver.recv().await {
match msg { match msg {
RustlerMsg::QuoteMsg(quote) => publisher.publish(quote).await?, RustlerMsg::QuoteMsg(quote) => publisher.publish(quote).await?,
} }
} }
info!("Rustler message receiver stopped"); fail!("Rustlers stopped")
Ok::<(), eyre::Report>(())
});
} else { } else {
warn!("No markets found with tickers"); fail!("No markets found")
} }
Ok(())
} }
/// **🐎 » restart rustlers** /// **🐎 » restart rustlers**