Procesamiento en paralelo

Max PrilutskiyCEO y cofundadorActualizado: hace 3 meses · 2 min de lectura

Obsoleto

Estos documentos cubren el CLI heredado (v0). El CLI actual es v1. Ver la documentación actual del CLI

El comando run procesa las tareas de traducción en paralelo distribuyéndolas entre un pool de workers. Cada combinación de idioma/archivo se convierte en una tarea independiente, y los workers las procesan al mismo tiempo.

Uso#

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

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

Cómo funciona#

  1. Creación de tareas - la CLI analiza tu i18n.json y crea tareas individuales para cada combinación de idioma/archivo
  2. Distribución de workers - las tareas se asignan a los workers disponibles mediante balanceo de carga
  3. Procesamiento concurrente - los workers traducen simultáneamente mientras los bloqueos del sistema de archivos evitan conflictos de escritura
  4. Agregación de resultados - las traducciones completadas se escriben de forma segura en los archivos de destino

Opciones de segmentación#

Todas las opciones de segmentación del comando run funcionan con el procesamiento en paralelo:

OpciónDescripción
--target-locale esProcesar idiomas de destino concretos
--source-locale enSobrescribir el idioma de origen
--bucket jsonProcesar tipos de bucket concretos
--file components/headerProcesar archivos concretos (admite patrones glob)
--key welcome.titleProcesar claves concretas (admite patrones glob)
--forceOmitir el archivo de bloqueo y volver a traducirlo todo
--frozenFallar si algún contenido requiere traducción
--concurrency 20Definir el número de workers concurrentes

Caché automática#

Al usar la API de Lingo.dev, los archivos de idioma de gran tamaño se dividen en fragmentos. Los archivos de destino se rellenan de forma incremental a medida que cada fragmento vuelve desde la API. Si el proceso se interrumpe, la siguiente ejecución se reanuda justo donde se quedó.

Para volver a traducir, usa primero purge y después run sin --force. Así aprovechas el mecanismo de caché integrado para procesar de forma más eficiente que con run --force.

Seguridad#

El pool de workers evita la corrupción de archivos mediante:

  • Sincronización de E/S - las operaciones del sistema de archivos se serializan por archivo
  • Protección mediante archivo de bloqueo - las operaciones atómicas evitan la corrupción concurrente de i18n.lock
  • Procesamiento transaccional - cada tarea se completa por completo o falla de forma limpia

Siguientes pasos#