Procesamiento en paralelo

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

Obsoleto

Esta documentación cubre el CLI heredado (v0). La versión actual del CLI es la v1. Ver la documentación actual de CLI

El comando run procesa tareas de traducción en paralelo distribuyéndolas entre un grupo 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 - el 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 con balanceo de carga
  3. Procesamiento concurrente - los workers traducen al mismo tiempo 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 esProcesa idiomas de destino específicos
--source-locale enSobrescribe el idioma de origen
--bucket jsonProcesa tipos de bucket específicos
--file components/headerProcesa archivos específicos (admite patrones glob)
--key welcome.titleProcesa claves específicas (admite patrones glob)
--forceOmite el archivo de bloqueo y vuelve a traducir todo
--frozenFalla si algún contenido requiere traducción
--concurrency 20Define la cantidad de workers concurrentes

Caché automática#

Al usar la API de Lingo.dev, los archivos de idioma grandes se dividen en fragmentos. Los archivos de destino se completan de forma incremental a medida que cada fragmento regresa desde la API. Si el proceso se interrumpe, la siguiente ejecución retoma desde donde se quedó.

Para volver a traducir, usa primero purge y luego run sin --force. Así aprovechas el mecanismo de caché integrado para procesar con más eficiencia en comparación con run --force.

Seguridad#

El grupo 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 con 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#