Ottimizza controllo stabilita file in batch

This commit is contained in:
2026-08-13 10:02:03 +02:00
parent 6b356e8983
commit 6fa96f8abe
4 changed files with 152 additions and 30 deletions

View File

@@ -241,6 +241,42 @@ Conseguenza osservata:
Un primo lancio puo' saltare un file come instabile. Un secondo lancio poco dopo puo' copiarlo correttamente. Questo e' comportamento previsto, non un errore.
Problema prestazionale risolto:
La prima implementazione controllava la stabilita' in modo sequenziale, file per file. Con 1359 file in coda e valori standard:
```toml
unchanged_check_interval_seconds = 5
unchanged_checks_required = 2
```
il backup poteva restare fermo prima del primo `robocopy` per circa:
```text
1359 * 5 * 2 = 13590 secondi, cioe' quasi 4 ore
```
Soluzione adottata:
Il controllo stabilita' ora lavora a batch:
1. legge dimensione e timestamp di tutti i file candidati;
2. attende l'intervallo configurato;
3. ricontrolla tutti i file;
4. ripete per il numero di controlli richiesti.
Con la stessa configurazione, 1359 file richiedono circa 10 secondi di attesa stabilita' complessiva, non 10 secondi per ogni file.
Sono stati aggiunti log espliciti:
```text
Found N pending files to back up
Checking stability for N existing files
Running X batch stability check(s) every Y second(s) for N file(s)
Batch stability check ...
Stability check completed: A stable, B unstable
```
## Controllo raggiungibilita' slave
Problema: