use crate::app::ports::driving::ForMonitoringAlerts; pub struct CronAlertsActor { alert_monitor: Box, period: std::time::Duration, } impl CronAlertsActor { pub fn new(alert_monitor: Box, period: std::time::Duration) -> Self { Self { alert_monitor, period } } pub fn start(&mut self) { loop { if let Err(e) = self.alert_monitor.alert_on_threshold_violation() { eprintln!("Error occurred: {}", e); } std::thread::sleep(self.period); } } }