Parallele Verarbeitung

Zuletzt aktualisiert: letztes Quartal · 2 Min. Lesezeit

Veraltet

Diese Doku behandelt die alte CLI (v0). Die aktuelle CLI ist v1. Zur aktuellen CLI-Doku

Der Befehl run verarbeitet Übersetzungsaufgaben parallel, indem er sie auf einen Worker-Pool verteilt. Jede Sprache-/Datei-Kombination wird als eigenständige Aufgabe behandelt, und die Worker bearbeiten sie gleichzeitig.

Verwendung#

bash
# Default concurrency (10 workers)
npx lingo.dev@latest run

# Custom concurrency
npx lingo.dev@latest run --concurrency 20

So funktioniert's#

  1. Aufgabenerstellung – die CLI analysiert deine i18n.json und erstellt für jede Sprache-/Datei-Kombination eine eigene Aufgabe
  2. Worker-Verteilung – Aufgaben werden per Lastverteilung auf verfügbare Worker verteilt
  3. Parallele Verarbeitung – Worker übersetzen gleichzeitig, während Dateisystem-Sperren Schreibkonflikte verhindern
  4. Ergebnisaggregation – abgeschlossene Übersetzungen werden sicher in die Zieldateien geschrieben

Optionen zur Zielauswahl#

Alle Optionen zur Zielauswahl des Befehls run funktionieren auch mit paralleler Verarbeitung:

OptionBeschreibung
--target-locale esBestimmte Zielsprachen verarbeiten
--source-locale enQuell-Sprache überschreiben
--bucket jsonBestimmte Bucket-Typen verarbeiten
--file components/headerBestimmte Dateien verarbeiten (unterstützt Glob-Muster)
--key welcome.titleBestimmte Schlüssel verarbeiten (unterstützt Glob-Muster)
--forceLockfile umgehen und alles neu übersetzen
--frozenFehlschlagen, wenn Inhalte eine Übersetzung erfordern
--concurrency 20Anzahl paralleler Worker festlegen

Automatisches Caching#

Bei der Verwendung der Lingo.dev API werden große Sprachdateien in Chunks aufgeteilt. Die Zieldateien werden schrittweise befüllt, sobald jeder Chunk von der API zurückkommt. Wird der Prozess unterbrochen, setzt der nächste Durchlauf genau dort fort, wo er aufgehört hat.

Für eine Neuübersetzung verwende zuerst purge, dann run ohne --force. So nutzt du den integrierten Caching-Mechanismus für eine effizientere Verarbeitung als mit run --force.

Sicherheit#

Der Worker-Pool schützt vor Dateibeschädigungen durch:

  • I/O-Synchronisierung – Dateisystem-Operationen werden pro Datei serialisiert
  • Lockfile-Schutz – atomare Operationen verhindern, dass i18n.lock bei gleichzeitigen Zugriffen beschädigt wird
  • Transaktionale Verarbeitung – jede Aufgabe wird entweder vollständig abgeschlossen oder schlägt sauber fehl

Nächste Schritte#