Execuções, estado e recuperação
lingo push envia uma execução para o motor e termina — ou, com --wait, espera por ela e escreve os resultados. Em qualquer dos casos, a execução fica no servidor, não no seu terminal — por isso, pode fechar o terminal e ainda assim ir buscar os resultados mais tarde, a partir do mesmo checkout. Esta página explica como isso funciona e como recuperar quando uma execução falha.
Estado da execução#
Cada push regista a execução que submeteu num ficheiro específico de cada máquina:
~/.lingo/runs/<hash>.jsonO <hash> é gerado a partir do caminho absoluto do projeto, por isso cada checkout tem a sua própria entrada. O ficheiro guarda o ID da execução, o motor e a organização — informação suficiente para que um lingo pull posterior encontre os resultados.
Trata-se de estado da máquina, não do projeto — fica na sua diretoria pessoal, nunca no repositório, e não é versionado.
Ir buscar mais tarde#
Como a execução fica no servidor, pode fazer push, seguir com o seu trabalho e fazer pull quando estiver concluída:
lingo push
# later — same machine, same checkout
lingo pullpull vai buscar os resultados da execução mais recente deste projeto. Também verifica o lockfile para detetar edições locais e recusa sobrescrevê-las, a menos que passe --force. Veja lingo pull.
O estado da execução nunca sai da máquina, por isso outra máquina ou um executor de CI não consegue pull uma execução enviada por push noutro local — falha com No saved run state for this project ou faz pull do último push dessa máquina. Para trazer para a sua máquina as traduções feitas em CI, faça commit dessas traduções em CI e git pull. Consulte CI/CD.
Mover o projeto
O nome do ficheiro de estado da execução é determinado pelo caminho absoluto do projeto. Se mover a diretoria entre o push e o pull, a procura falha — o ID da execução continua em ~/.lingo/runs/, caso precise de o recuperar manualmente.
Recuperar uma execução com falhas#
Se uma execução falhar a meio — por exemplo, por timeout ou por um erro transitório do motor — use:
lingo resumeresume volta a emitir os resultados a partir dos resultados em cache do motor, em vez de voltar a traduzir, por isso uma execução recuperada não volta a gastar créditos. Indica o que conseguiu recuperar e o que não foi possível voltar a associar.
Se resume indicar destinos que não conseguiu recuperar, preencha-os com um backfill normal:
lingo push --backfill-missingQuando usar cada comando#
| Situação | Comando |
|---|---|
| Ir buscar os resultados depois de fechar o terminal | lingo pull |
| Traduzir em CI e fazer commit dos resultados | lingo push --wait e depois fazer commit |
| Uma execução falhou a meio | lingo resume |
| A retoma deixou lacunas | lingo push --backfill-missing |