Traitement parallèle

Mis à jour le : le trimestre dernier · 2 min de lecture

Déconseillé

Cette documentation couvre l’ancien CLI (v0). La version actuelle du CLI est la v1. Voir la documentation actuelle du CLI

La commande run exécute les tâches de traduction en parallèle en les répartissant dans un pool de workers. Chaque combinaison langue/fichier devient une tâche indépendante, traitée simultanément par les workers.

Utilisation#

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

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

Comment ça marche#

  1. Création des tâches - le CLI analyse votre i18n.json et crée une tâche distincte pour chaque combinaison langue/fichier
  2. Répartition entre les workers - les tâches sont attribuées aux workers disponibles grâce à l’équilibrage de charge
  3. Traitement en parallèle - les workers traduisent simultanément pendant que les verrous du système de fichiers empêchent les conflits d’écriture
  4. Agrégation des résultats - les traductions terminées sont écrites en toute sécurité dans les fichiers cibles

Options de ciblage#

Toutes les options de ciblage de la commande run fonctionnent avec le traitement parallèle :

OptionDescription
--target-locale esTraiter des langues cibles spécifiques
--source-locale enRemplacer la langue source
--bucket jsonTraiter des types de bucket spécifiques
--file components/headerTraiter des fichiers spécifiques (prend en charge les motifs glob)
--key welcome.titleTraiter des clés spécifiques (prend en charge les motifs glob)
--forceIgnorer le fichier de verrouillage et tout retraduire
--frozenÉchouer si du contenu doit être traduit
--concurrency 20Définir le nombre de workers simultanés

Mise en cache automatique#

Lorsque vous utilisez l’API Lingo.dev, les fichiers de langue volumineux sont découpés en segments. Les fichiers cibles sont alimentés progressivement à mesure que chaque segment revient de l’API. Si le processus est interrompu, l’exécution suivante reprend là où elle s’était arrêtée.

Pour retraduire, utilisez d’abord purge, puis run sans --force. Vous profitez ainsi du mécanisme de mise en cache intégré pour un traitement plus efficace qu’avec run --force.

Sécurité#

Le pool de workers évite toute corruption de fichiers grâce à :

  • Synchronisation des E/S - les opérations sur le système de fichiers sont sérialisées fichier par fichier
  • Protection par fichier de verrouillage - des opérations atomiques empêchent toute corruption concurrente de i18n.lock
  • Traitement transactionnel - chaque tâche se termine entièrement ou échoue proprement

Prochaines étapes#