Zum Hauptinhalt springen

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

  1. Die CLI erstellt processing, done, error und results, wenn sie nicht existieren.
  2. Wenn --retry oder folder.retry: true gesetzt ist, werden fehlgeschlagene CSV-Dateien aus error für einen weiteren Versuch zurück in den Ordnerstamm verschoben.
  3. Die CLI wählt Dateien aus dem Ordnerstamm mit pattern aus.
  4. Ergebnisdateien, die auf _result enden, werden ignoriert.
  5. Dateien, die jünger als minAge Sekunden sind, werden ignoriert.
  6. Jede ausgewählte Datei wird nach processing verschoben.
  7. Die Datei wird validiert.
  8. Die Ergebnis-CSV wird nach results geschrieben.
  9. Erfolgreiche Dateien und Validierungsfehler-Dateien werden nach done verschoben.
  10. CLI-, Mapping-, Authentifizierungs-, IO-, temporäre oder Quota-Fehler verschieben die Quelldatei nach error und 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
KeyDefaultBeschreibung
pattern*.csvDateimuster, das aus dem Ordnerstamm ausgewählt wird.
minAge0Mindestalter der Datei in Sekunden.
onDuplicateskipWas 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.
retryfalseFehlgeschlagene 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.
cleanupDoneAfterDaysnicht gesetztAlte 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:

WertVerhalten
skipVorhandene Zieldatei behalten. Die aktuell verarbeitete Datei bleibt zur manuellen Prüfung in processing. Bei --retry bleibt die fehlgeschlagene Datei in error.
overwriteVorhandene Zieldatei und ihre .optimus-state.json-Sidecar-Datei ersetzen.
renameBeide 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.