Paralelní zpracování
Zastaralé
Tato dokumentace pokrývá starší CLI (v0). Aktuální CLI je v1. Zobrazit aktuální dokumentaci CLI
Příkaz run zpracovává překladové úlohy souběžně tím, že je rozděluje mezi pool workerů. Každá kombinace jazyk/soubor je samostatná úloha a workeři je zpracovávají paralelně.
Použití#
bash
# Default concurrency (10 workers)
npx lingo.dev@latest run
# Custom concurrency
npx lingo.dev@latest run --concurrency 20Jak to funguje#
- Vytváření úloh — CLI analyzuje váš soubor
i18n.jsona vytváří samostatné úlohy pro každou kombinaci jazyk/soubor - Rozdělení mezi workery — úlohy se pomocí vyvažování zátěže přiřazují dostupným workerům
- Souběžné zpracování — workeři překládají paralelně, zatímco zámky souborového systému zabraňují konfliktům při zápisu
- Shromáždění výsledků — dokončené překlady se bezpečně zapisují do cílových souborů
Možnosti cílení#
S paralelním zpracováním fungují všechny možnosti cílení z příkazu run:
| Možnost | Popis |
|---|---|
--target-locale es | Zpracovat konkrétní cílové jazyky |
--source-locale en | Přepsat zdrojový jazyk |
--bucket json | Zpracovat konkrétní typy bucketů |
--file components/header | Zpracovat konkrétní soubory (podporuje glob vzory) |
--key welcome.title | Zpracovat konkrétní klíče (podporuje glob vzory) |
--force | Obejít lockfile a přeložit vše znovu |
--frozen | Selhat, pokud některý obsah vyžaduje překlad |
--concurrency 20 | Nastavit počet souběžných workerů |
Automatické ukládání do mezipaměti#
Při použití Lingo.dev API se velké jazykové soubory rozdělují na části. Cílové soubory se postupně doplňují podle toho, jak se jednotlivé části vracejí z API. Pokud se proces přeruší, při dalším spuštění naváže tam, kde skončil.
Pro opětovný překlad nejprve použijte purge a potom run bez --force. Využijete tak vestavěný mechanismus ukládání do mezipaměti, který je při zpracování efektivnější než run --force.
Bezpečnost#
Pool workerů předchází poškození souborů díky:
- Synchronizace I/O — operace se souborovým systémem se pro každý soubor provádějí sériově
- Ochrana lockfilem — atomické operace zabraňují poškození
i18n.lockpři souběžném přístupu - Transakční zpracování — každá úloha se buď dokončí celá, nebo čistě selže