Processamento paralelo

Max PrilutskiyCEO e cofundadorAtualizado em: há 3 meses · 2 min de leitura

Obsoleto

Esta documentação cobre o CLI legado (v0). O CLI atual é o v1. Veja a documentação atual da CLI

O comando run processa tarefas de tradução em paralelo, distribuindo-as em um pool de workers. Cada combinação de idioma/arquivo vira uma tarefa independente, e os workers as processam simultaneamente.

Consumo#

bash
# Default concurrency (10 workers)
npx lingo.dev@latest run

# Custom concurrency
npx lingo.dev@latest run --concurrency 20

Como funciona#

  1. Criação de tarefas — a CLI analisa seu i18n.json e cria tarefas individuais para cada combinação de idioma/arquivo
  2. Distribuição entre workers — as tarefas são atribuídas aos workers disponíveis com balanceamento de carga
  3. Processamento simultâneo — os workers traduzem ao mesmo tempo, enquanto bloqueios no sistema de arquivos evitam conflitos de gravação
  4. Consolidação dos resultados — as traduções concluídas são gravadas com segurança nos arquivos de destino

Opções de segmentação#

Todas as opções de segmentação do comando run funcionam com processamento paralelo:

OpçãoDescrição
--target-locale esProcessar idiomas de destino específicos
--source-locale enSubstituir o idioma de origem
--bucket jsonProcessar tipos de bucket específicos
--file components/headerProcessar arquivos específicos (com suporte a padrões glob)
--key welcome.titleProcessar chaves específicas (com suporte a padrões glob)
--forceIgnorar o lockfile e retraduzir tudo
--frozenFalhar se qualquer conteúdo precisar de tradução
--concurrency 20Definir o número de workers simultâneos

Cache automático#

Ao usar a API do Lingo.dev, arquivos de idioma grandes são divididos em partes. Os arquivos de destino são preenchidos de forma incremental à medida que cada parte retorna da API. Se o processo for interrompido, a próxima execução continua de onde parou.

Para retraduzir, use purge primeiro e depois run sem --force. Assim, você aproveita o mecanismo de cache integrado para um processamento mais eficiente do que com run --force.

Segurança#

O pool de workers evita a corrupção de arquivos por meio de:

  • Sincronização de I/O — as operações no sistema de arquivos são serializadas por arquivo
  • Proteção do lockfile — operações atômicas evitam a corrupção simultânea de i18n.lock
  • Processamento transacional — cada tarefa é concluída por completo ou falha de forma limpa

Próximos passos#