refactor: extract background task spawning to startup.rs
This commit is contained in:
24
k-tv-backend/api/src/startup.rs
Normal file
24
k-tv-backend/api/src/startup.rs
Normal file
@@ -0,0 +1,24 @@
|
||||
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<ScheduleEngineService>,
|
||||
channel_repo: Arc<dyn ChannelRepository>,
|
||||
event_tx: broadcast::Sender<DomainEvent>,
|
||||
) {
|
||||
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,
|
||||
));
|
||||
}
|
||||
Reference in New Issue
Block a user