use std::sync::Arc; use domain::{ChannelRepository, DomainEvent, ScheduleEngineService}; use tokio::sync::broadcast; use crate::{poller, scheduler}; pub fn spawn_background_tasks( schedule_engine: Arc, channel_repo: Arc, event_tx: broadcast::Sender, ) { let bg_channel_repo = channel_repo.clone(); tokio::spawn(scheduler::run_auto_scheduler( Arc::clone(&schedule_engine), bg_channel_repo, event_tx.clone(), )); tokio::spawn(poller::run_broadcast_poller( schedule_engine, channel_repo, event_tx, )); }