lingo push soumet une exécution au moteur et attend qu’elle se termine. Mais l’exécution vit sur le serveur, pas dans votre terminal — vous pouvez donc fermer le terminal, changer de machine ou laisser la CI prendre le relais, puis récupérer les résultats plus tard. Cette page explique comment cela fonctionne et comment reprendre la main lorsqu’une exécution échoue.
État de l’exécution#
Chaque push enregistre l’exécution qu’il a soumise dans un fichier propre à la machine :
~/.lingo/runs/<hash>.jsonLe <hash> est dérivé du chemin absolu du projet ; chaque checkout a donc sa propre entrée. Le fichier contient l’ID de l’exécution, le moteur et l’organisation — de quoi permettre à un lingo pull ultérieur de retrouver les sorties.
Il s’agit d’un état propre à la machine, pas au projet — il se trouve dans votre répertoire personnel, jamais dans le dépôt, et n’est pas versionné.
Récupérer sur une autre machine#
Comme l’exécution vit côté serveur, vous pouvez faire un push à un endroit et un pull ailleurs :
# laptop
lingo push
# CI, or a second machine with the same checkout + credentials
lingo pullpull récupère les sorties de l’exécution la plus récente pour ce projet. Il vérifie aussi le lockfile pour détecter les modifications locales et refuse de les écraser, sauf si vous passez --force. Voir lingo pull.
Déplacer le projet
Le nom du fichier d’état d’exécution est basé sur le chemin absolu du projet. Si vous déplacez le répertoire entre push et pull, la recherche ne trouvera rien — l’ID de l’exécution se trouve toujours dans ~/.lingo/runs/ si vous devez le récupérer manuellement.
Récupérer une exécution en échec#
Si une exécution échoue en cours de route — dépassement de délai, erreur transitoire du moteur — utilisez :
lingo resumeresume réémet les sorties à partir des résultats en cache du moteur au lieu de retraduire ; une exécution reprise ne redépense donc pas de crédits. La commande indique ce qu’elle a pu récupérer et ce qui n’a pas pu être rattaché.
Si resume signale des cibles qu’il n’a pas pu récupérer, complétez-les avec un backfill classique :
lingo push --backfill-missingQuel cas, quelle commande#
| Situation | Commande |
|---|---|
| Récupérer les résultats après avoir fermé le terminal | lingo pull |
| Push sur un laptop, pull dans la CI | lingo push puis lingo pull |
| Une exécution a échoué en cours de route | lingo resume |
| La reprise a laissé des manques | lingo push --backfill-missing |
