Remove auto-sync timers, keep only manual sync
Sync engine no longer has push (30s) or pull (5min) intervals. Sync only happens on launch (InitialSync), manual Ctrl+R (FullSync), or after create/edit/delete (TriggerSync).
This commit is contained in:
+8
-22
@@ -164,33 +164,19 @@ async fn run_sync_engine(
|
|||||||
sync_stats: Arc<Mutex<SyncStats>>,
|
sync_stats: Arc<Mutex<SyncStats>>,
|
||||||
rx: &mut tokio::sync::mpsc::Receiver<SyncCommand>,
|
rx: &mut tokio::sync::mpsc::Receiver<SyncCommand>,
|
||||||
) {
|
) {
|
||||||
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 {
|
loop {
|
||||||
tokio::select! {
|
match rx.recv().await {
|
||||||
_ = push_interval.tick() => {
|
Some(SyncCommand::TriggerSync) => {
|
||||||
push_sync(&db, &api, &network_status, &sync_stats).await;
|
push_sync(&db, &api, &network_status, &sync_stats).await;
|
||||||
}
|
}
|
||||||
_ = pull_interval.tick() => {
|
Some(SyncCommand::FullSync) => {
|
||||||
pull_sync(&db, &api, &network_status, &sync_stats, false).await;
|
push_sync(&db, &api, &network_status, &sync_stats).await;
|
||||||
|
pull_sync(&db, &api, &network_status, &sync_stats, true).await;
|
||||||
}
|
}
|
||||||
cmd = rx.recv() => {
|
Some(SyncCommand::InitialSync) => {
|
||||||
match cmd {
|
run_initial_sync(&db, &api, &network_status, &sync_stats).await;
|
||||||
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::Shutdown) | None => break,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user