Files
ASE/docs/FILE_DELETION_POLICY.md
2025-11-03 19:06:04 +01:00

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 abilitata
  • false, 0, no o 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