Folder Mode
Folder Mode verarbeitet CSV-Dateien aus einem Ordner mit einer mailbox-ähnlichen Struktur.
Starten Sie Folder Mode, indem Sie ein Verzeichnis als <path> übergeben:
optimus check ./inbox --map mapping.yml --standard
Ordnerstruktur
Die CLI erstellt diese Ordner innerhalb des übergebenen Ordners:
inbox/
processing/
done/
error/
results/
Dateien werden nur aus dem Ordnerstamm aufgenommen, nicht aus Unterordnern.
In --dry-run liest Folder Mode passende Dateien direkt aus dem Ordnerstamm. Er erstellt keine Mailbox-Ordner, versucht keine Dateien aus error erneut, verschiebt keine Dateien, schreibt keine Ergebnis- oder Fehlerdateien, bereinigt done nicht und erstellt kein Support-Log.
Verarbeitungsablauf
- Die CLI erstellt
processing,done,errorundresults, wenn sie nicht existieren. - Wenn
--retryoderfolder.retry: truegesetzt ist, werden fehlgeschlagene CSV-Dateien auserrorfür einen weiteren Versuch zurück in den Ordnerstamm verschoben. - Die CLI wählt Dateien aus dem Ordnerstamm mit
patternaus. - Ergebnisdateien, die auf
_resultenden, werden ignoriert. - Dateien, die jünger als
minAgeSekunden sind, werden ignoriert. - Jede ausgewählte Datei wird nach
processingverschoben. - Die Datei wird validiert.
- Die Ergebnis-CSV wird nach
resultsgeschrieben. - Erfolgreiche Dateien und Validierungsfehler-Dateien werden nach
doneverschoben. - CLI-, Mapping-, Authentifizierungs-, IO-, temporäre oder Quota-Fehler verschieben die Quelldatei nach
errorund erstellen eine.err-Datei.
Folder-Optionen
Kommandozeilenoptionen:
optimus check ./inbox --map mapping.yml --standard --pattern "*.csv" --min-age 30
Dateien erneut versuchen, die zuvor nach error verschoben wurden:
optimus check ./inbox --map mapping.yml --standard --retry
YAML-Optionen:
folder:
pattern: "*.csv"
minAge: 30
onDuplicate: skip
retry: false
cleanupDoneAfterDays: 30
| Key | Default | Beschreibung |
|---|---|---|
pattern | *.csv | Dateimuster, das aus dem Ordnerstamm ausgewählt wird. |
minAge | 0 | Mindestalter der Datei in Sekunden. |
onDuplicate | skip | Was passieren soll, wenn das Verschieben einer Datei mit einer vorhandenen Datei in done, error oder beim Retry im Ordnerstamm kollidieren würde. Siehe Duplicate Handling unten. |
retry | false | Fehlgeschlagene CSV-Dateien aus error für einen weiteren Versuch zurück in den Ordnerstamm verschieben. Wiederholte Dateien starten eine neue Validierungsoperation und ersetzen ihren gespeicherten State. |
cleanupDoneAfterDays | nicht gesetzt | Alte Dateien und gespeicherten State aus done löschen. |
Fehlgeschlagene Dateien Erneut Versuchen
Wenn eine Datei wegen CLI-, Mapping-, Authentifizierungs-, IO-, temporärem oder Quota-Fehler fehlschlägt, verschiebt die CLI die Quell-CSV nach error und schreibt eine .err-Datei.
Nachdem Sie die Ursache behoben haben, starten Sie Folder Mode mit --retry oder setzen Sie folder.retry: true. Die CLI verschiebt passende CSV-Dateien aus error zurück in den Ordnerstamm, entfernt den .err-Marker und verarbeitet sie erneut.
Retry startet eine neue Validierungsoperation. Er bricht keine ältere Remote-Operation ab.
Duplicate Handling
onDuplicate steuert, was passiert, wenn die CLI eine CSV-Datei verschieben will und am Ziel bereits eine Datei mit demselben Namen existiert:
| Wert | Verhalten |
|---|---|
skip | Vorhandene Zieldatei behalten. Die aktuell verarbeitete Datei bleibt zur manuellen Prüfung in processing. Bei --retry bleibt die fehlgeschlagene Datei in error. |
overwrite | Vorhandene Zieldatei und ihre .optimus-state.json-Sidecar-Datei ersetzen. |
rename | Beide Dateien behalten, indem der verschobenen Datei ein Zeitstempel hinzugefügt wird. |
Ergebnis- Und Fehlerdateien
Für eine Eingabedatei namens customers.csv schreibt Folder Mode:
results/customers_result.csv
Wenn eine Datei nicht verarbeitet werden kann, schreibt die CLI eine Fehlerdatei:
error/customers.err
Die .err-Datei enthält den Quelldateinamen, Exit Code, Zeitstempel, Support-Log-Pfad wenn verfügbar und eine kurze Fehlerbeschreibung.