File Watch

trigger_file_watch · trigger · Triggers · Disponibile · v1.0.0

Descrizione

Watcher filesystem enterprise basato su chokidar (battle-tested in Webpack, Parcel, Vite e altri 100M+ downloads/anno) che firma il workflow quando un file viene creato (add), modificato (change), o cancellato (unlink) in una directory monitorata del volume persistente del tenant — il modulo "Drop folder" tipico di gestionali Italiani, dove un operatore "lascia cadere" un PDF/CSV/XLS nella cartella di rete e il sistema lo processa automaticamente entro pochi secondi senza richiedere upload via UI. Implementazione: chokidar usa fs.watch nativo di Node.js con fallback su polling per filesystem che non supportano inotify (es. mount NFS, container Docker overlay2 in alcune config Kubernetes), garantendo cross-platform consistency (Linux inotify, macOS FSEvents, Windows ReadDirectoryChangesW). Debounce configurabile (default 300ms) per evitare event flood quando un'applicazione scrive il file a chunks (es. SFTP upload progressivo, browser drag-drop multi-MB) — il trigger attende stabilità della dimensione prima di firmare il workflow, evitando di processare file half-written. Sicurezza: path allowlist obbligatorio (root path della cartella + descendant), NO escape verso /etc o /proc, NO symlink resolution (se la cartella contiene link simbolici, vengono ignorati per evitare path traversal); ownership check verifica che il file appartenga al tenant utente; cap su dimensione massima configurabile (default 100MB) per evitare DoS via upload di file GB. Filtri: pattern glob standard (*.csv, *.pdf, **/contracts/*.docx, !temp/*), eventi sottoscritti (add+change+unlink in combinazioni). Input al workflow downstream: { path (absolute path da root), name (basename), extension, sizeBytes, mtime (ISO 8601), event (add|change|unlink), checksumSha256? (utile per dedup di file rinominati) }. Use case: ingest automatico di CSV uploadati via SFTP dal commercialista esterno alle 23:00 nella cartella drop/ → workflow parse + INSERT in db_query bulk; monitoraggio della cartella shared/pec-fatture-2026/ → ogni nuovo PDF triggers OCR via action_vision_extract + creazione fattura Odoo via action_odoo_create_lead; processing immediato di video caricati dall'utente in dropbox/ → action_video_metadata per estrarre durata e codec → action_ffmpeg_thumbnail per genere preview JPG; data ingestion sistema SAP che esporta giornalmente CSV in formato fixed-width nella cartella di scambio.

⚙️ Parametri di configurazione

Campi mostrati nell’editor quando si configura il nodo. Generati direttamente dal NodeDefconfigFields.

CampoTipoRequiredDefaultDescrizione
directory
Cartella da monitorare
directory-pickersi
es. ./watch o /tmp/watch
Cartella nel sandbox del tenant. Path assoluti solo se in FLOWFORGE_FILE_ALLOWLIST.
glob
Pattern file (glob, opzionale)
stringno
**/*.csv
Glob standard: ** = ricorsivo, *.ext = qualsiasi nome con estensione, file.txt = solo quello specifico.
events
Events
enum
addchangeunlinkall
sialladd = file nuovo creato. change = file esistente modificato (write). unlink = file cancellato. all = tutti e 3 (default). Per ingest pipeline tipicamente serve solo "add" — il workflow gestisce un file una volta sola.
debounceMs
Debounce (ms)
numberno500Pausa minima tra eventi file consecutivi per evitare burst quando un file viene scritto in più passaggi (download multi-chunk, salvataggio temp+rename). Default 500ms. Se hai upload molto rapidi (< 500ms tra file separati) abbassa a 100-200ms. Hard cap engine 60000ms.

💡 Esempio configurazione

Snippet JSON del nodo come compare nel workflow. I valori sono derivati daidefaultValue e dai parametri required.

{
  "id": "node-trigger_file_watch-1",
  "defId": "trigger_file_watch",
  "label": "File Watch",
  "config": {
    "directory": "es. ./watch o /tmp/watch",
    "events": "all",
    "debounceMs": 500
  }
}

🔗 Nodi correlati nella stessa categoria

Pronto a usare File Watch?

Disponibile da subito in tutti i piani FlowForge. Provalo gratis senza carta di credito.

Inizia gratisSfoglia tutti i nodi