Runs, Status und Wiederherstellung

Zuletzt aktualisiert: letzte Woche · 2 Min. Lesezeit

lingo push sendet einen Lauf an die Engine und beendet sich dann — oder wartet mit --wait darauf und schreibt die Ausgaben. So oder so läuft der Vorgang auf dem Server, nicht in Ihrem Terminal — Sie können das Terminal also schließen und die Ergebnisse später trotzdem aus demselben Checkout abrufen. Auf dieser Seite erfahren Sie, wie das funktioniert und was Sie tun können, wenn ein Lauf fehlschlägt.

Run-Status#

Jeder Push speichert den abgeschickten Run in einer Datei pro Rechner:

text
~/.lingo/runs/<hash>.json

Die <hash> wird aus dem absoluten Projektpfad abgeleitet, sodass jeder Checkout einen eigenen Eintrag erhält. Die Datei enthält die Run-ID, die Engine und die Organisation — genug, damit ein späteres lingo pull die Ausgaben finden kann.

Es ist rechnerbezogener Status, kein Projektstatus — er liegt in deinem Home-Verzeichnis, nie im Repo, und wird nicht committed.

Später abrufen#

Da der Lauf serverseitig weiterläuft, können Sie pushen, weggehen und ihn abrufen, sobald er fertig ist:

bash
lingo push

# later — same machine, same checkout
lingo pull

pull ruft die Ausgaben des neuesten Runs für dieses Projekt ab. Außerdem prüft es die lockfile auf lokale Änderungen und verweigert das Überschreiben, sofern du nicht --force angibst. Siehe lingo pull.

Der Laufstatus verlässt nie den Rechner. Deshalb kann ein anderer Rechner oder ein CI-Runner einen Lauf, der anderswo gepusht wurde, nicht pull — stattdessen schlägt das mit No saved run state for this project fehl oder ruft den letzten Push dieses Rechners ab. Wenn Sie in CI erstellte Übersetzungen auf Ihren Rechner holen möchten, committen Sie sie in CI und git pull. Siehe CI/CD.

Das Projekt verschieben

Der Dateiname für den Run-Status ist an den absoluten Projektpfad gebunden. Wenn du das Verzeichnis zwischen Push und Pull verschiebst, greift die Zuordnung nicht mehr — die Run-ID steht aber weiterhin in ~/.lingo/runs/, falls du sie manuell wiederherstellen musst.

Einen fehlgeschlagenen Run wiederherstellen#

Wenn ein Run mittendrin fehlschlägt — etwa durch ein Timeout oder einen vorübergehenden Engine-Fehler — verwende:

bash
lingo resume

resume gibt die Ausgaben aus den zwischengespeicherten Ergebnissen der Engine erneut aus, statt neu zu übersetzen. Ein wiederhergestellter Run verbraucht also keine Credits ein weiteres Mal. Dabei wird gemeldet, was wiederhergestellt wurde und was sich nicht mehr zuordnen ließ.

Wenn resume Ziele meldet, die nicht wiederhergestellt werden konnten, fülle sie mit einem normalen Backfill auf:

bash
lingo push --backfill-missing

Wann du was verwendest#

SituationBefehl
Ergebnisse abrufen, nachdem du das Terminal geschlossen hastlingo pull
In CI übersetzen und die Ergebnisse committenlingo push --wait, dann committen
Ein Run ist mittendrin fehlgeschlagenlingo resume
Beim Fortsetzen blieben Lückenlingo push --backfill-missing