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>>,
|
||||
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 {
|
||||
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,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user