2.2 KiB
2.2 KiB
File Deletion Policy
Comportamento di Default
Per impostazione predefinita, i file ricevuti via FTP/SFTP vengono mantenuti sul server dopo l'elaborazione:
- ✅ Elaborazione riuscita: il file viene rinominato con timestamp e salvato nella directory dell'utente, i dati vengono inseriti nel database
- ❌ Elaborazione fallita: il file rimane nella directory dell'utente per permettere debug e riprocessamento manuale
Abilitare la Cancellazione Automatica
Per cancellare automaticamente i file dopo un'elaborazione riuscita, imposta la variabile d'ambiente nel docker-compose.yml:
environment:
DELETE_AFTER_PROCESSING: "true"
Valori Accettati
La variabile accetta i seguenti valori (case-insensitive):
true,1,yes→ cancellazione abilitatafalse,0,noo qualsiasi altro valore → cancellazione disabilitata (default)
Comportamento con DELETE_AFTER_PROCESSING=true
| Scenario | Comportamento |
|---|---|
| File elaborato con successo | ✅ Dati inseriti nel DB → File cancellato |
| Errore durante elaborazione | ❌ Errore loggato → File mantenuto per debug |
| File vuoto | 🗑️ File cancellato immediatamente (comportamento esistente) |
Log
Quando un file viene cancellato dopo l'elaborazione, viene loggato:
INFO: File example_20250103120000.csv loaded successfully
INFO: File example_20250103120000.csv deleted after successful processing
In caso di errore durante la cancellazione:
WARNING: Failed to delete file example_20250103120000.csv: [errno] [description]
Esempio Configurazione
Mantenere i file (default)
ftp-server:
environment:
DB_HOST: "mysql-server"
# DELETE_AFTER_PROCESSING non impostata o impostata a false
Cancellare i file dopo elaborazione
ftp-server:
environment:
DB_HOST: "mysql-server"
DELETE_AFTER_PROCESSING: "true"
Note Implementative
- La cancellazione avviene solo dopo l'inserimento riuscito nel database
- Se la cancellazione fallisce, viene loggato un warning ma l'elaborazione è considerata riuscita
- I file con errori di elaborazione rimangono sempre sul server indipendentemente dalla configurazione
- La policy si applica sia a FTP che a SFTP