Běhy, stav a obnova
lingo push odešle spuštění do engine a ukončí se — nebo s --wait počká na jeho dokončení a zapíše výstupy. V obou případech spuštění běží na serveru, ne ve vašem terminálu — takže terminál můžete zavřít a výsledky si vyzvednout později ze stejného checkoutu. Tato stránka vysvětluje, jak to funguje a jak postupovat, když spuštění selže.
Stav běhu#
Každý push zaznamená odeslaný běh do souboru pro daný počítač:
~/.lingo/runs/<hash>.json<hash> se odvozuje z absolutní cesty k projektu, takže každý checkout má vlastní záznam. Soubor obsahuje ID běhu, engine a organizaci — tedy vše, co pozdější lingo pull potřebuje k nalezení výstupů.
Jde o stav vázaný na konkrétní počítač, ne o stav projektu — je uložený ve vašem domovském adresáři, nikdy ne v repozitáři, a necommituje se.
Vyzvednutí později#
Protože spuštění běží na serveru, můžete ho odeslat, odejít a vyzvednout si ho, až bude hotové:
lingo push
# later — same machine, same checkout
lingo pullpull stáhne výstupy z nejnovějšího běhu pro tento projekt. Zároveň zkontroluje lockfile, jestli neobsahuje místní úpravy, a bez --force je odmítne přepsat. Viz lingo pull.
Stav spuštění nikdy neopustí daný počítač, takže jiný počítač nebo CI runner nemůže pull spuštění odeslané odjinud — skončí chybou No saved run state for this project, nebo stáhne poslední odeslání z daného počítače. Pokud chcete dostat překlady vytvořené v CI do svého počítače, potvrďte je v CI a git pull. Viz CI/CD.
Přesun projektu
Název souboru se stavem běhu je navázaný na absolutní cestu k projektu. Pokud adresář mezi push a pull přesunete, vyhledání selže — ID běhu ale stále najdete v ~/.lingo/runs/, pokud ho budete potřebovat dohledat ručně.
Obnova neúspěšného běhu#
Pokud běh skončí chybou v průběhu — například kvůli timeoutu nebo přechodné chybě engine — použijte:
lingo resumeresume znovu vygeneruje výstupy z výsledků uložených v cache engine místo toho, aby znovu překládal, takže obnovený běh už znovu nespotřebuje kredity. Ohlásí, co se podařilo obnovit a co se nepodařilo zpětně propojit.
Pokud resume nahlásí cíle, které se nepodařilo obnovit, doplňte je běžným backfillem:
lingo push --backfill-missingKdy použít co#
| Situace | Příkaz |
|---|---|
| Vyzvednutí výsledků po zavření terminálu | lingo pull |
| Překládejte v CI a potvrďte výsledky | lingo push --wait, pak potvrdit |
| Běh selhal v průběhu | lingo resume |
| Po obnovení zůstaly mezery | lingo push --backfill-missing |