Zum Hauptinhalt springen

Resume Und Idempotenz

Echte Validierungsläufe erstellen gespeicherten Validierungszustand neben der Eingabe-CSV, damit unterbrochene Läufe fortgesetzt werden können, ohne doppelte API-Arbeit zu starten.

State-Datei

Für:

customers.csv

schreibt die CLI:

customers.csv.optimus-state.json

Die State-Datei speichert:

  • Request Hash.
  • Idempotency Key.
  • Operation ID, wenn verfügbar.
  • Operation Status.
  • Zeitstempel.
  • API Base URL.
  • Ergebnispfad.
  • PDF-Pfad.
  • Support-Log-Pfad.
  • Letzten allgemeinen Operation-Fehler, wenn einer auftritt.

Die State-Datei speichert keine Tokens.

Automatisches Resume

Wenn dieselbe Datei erneut mit denselben relevanten Request-Optionen und demselben API-Ziel verarbeitet wird, verwendet die CLI den gespeicherten State.

In einem nicht interaktiven Terminal setzt die CLI automatisch fort.

In einem interaktiven Terminal kann die CLI fragen, ob fortgesetzt oder eine neue Operation gestartet werden soll.

Neue Operation Starten

Verwenden Sie --force-new, um gespeicherten State zu ignorieren und eine neue Validierungsoperation zu starten:

optimus check customers.csv --map mapping.yml --standard --force-new

Wenn --force-new verwendet wird, erstellt die CLI einen neuen Idempotency Key, indem sie ein eindeutiges Suffix anhängt.

Idempotency Keys

Die CLI erzeugt Idempotency Keys automatisch aus dem Validierungsrequest. Benutzer müssen diese Keys nicht erstellen oder übergeben.

Dadurch bleiben Retries und Resume-Verhalten an die exakten CSV-Daten, das Mapping, das API-Ziel und die Validierungsoptionen des Laufs gebunden. Folder Mode erzeugt einen Idempotency Key pro CSV-Datei.

Wann State Ersetzt Wird

Die CLI startet eine neue Operation, wenn:

  • --force-new übergeben wird.
  • Die gespeicherte Operation abgelaufen ist.
  • Die gespeicherte Operation nicht mehr über die API verfügbar ist.
  • Ein interaktiver Benutzer Ersatz für beschädigten oder nicht passenden State bestätigt.

Wenn in einem nicht interaktiven Lauf beschädigter oder nicht passender State gefunden wird, meldet die CLI einen Fehler und fordert Sie auf, --force-new zu verwenden.