diff --git a/src/main.rs b/src/main.rs index bcd3798..a73ed33 100644 --- a/src/main.rs +++ b/src/main.rs @@ -164,33 +164,19 @@ async fn run_sync_engine( sync_stats: Arc>, rx: &mut tokio::sync::mpsc::Receiver, ) { - let mut push_interval = tokio::time::interval(tokio::time::Duration::from_secs(30)); - let mut pull_interval = tokio::time::interval(tokio::time::Duration::from_secs(300)); - pull_interval.tick().await; - loop { - tokio::select! { - _ = push_interval.tick() => { + match rx.recv().await { + Some(SyncCommand::TriggerSync) => { push_sync(&db, &api, &network_status, &sync_stats).await; } - _ = pull_interval.tick() => { - pull_sync(&db, &api, &network_status, &sync_stats, false).await; + Some(SyncCommand::FullSync) => { + push_sync(&db, &api, &network_status, &sync_stats).await; + pull_sync(&db, &api, &network_status, &sync_stats, true).await; } - cmd = rx.recv() => { - match cmd { - Some(SyncCommand::TriggerSync) => { - push_sync(&db, &api, &network_status, &sync_stats).await; - } - Some(SyncCommand::FullSync) => { - push_sync(&db, &api, &network_status, &sync_stats).await; - pull_sync(&db, &api, &network_status, &sync_stats, true).await; - } - Some(SyncCommand::InitialSync) => { - run_initial_sync(&db, &api, &network_status, &sync_stats).await; - } - Some(SyncCommand::Shutdown) | None => break, - } + Some(SyncCommand::InitialSync) => { + run_initial_sync(&db, &api, &network_status, &sync_stats).await; } + Some(SyncCommand::Shutdown) | None => break, } } }