Skip to main content
Weave téléverse les données de trace dans des threads d’arrière-plan afin de limiter l’impact sur les performances de votre application. Vous risquez toutefois de perdre des données de trace si vous utilisez un système de multiprocessing ou de file d’attente de tâches, ou un processus worker comme Celery. Cela se produit lorsque le processus worker se termine avant que les threads d’arrière-plan aient fini de téléverser les traces. Pour éviter toute perte de données dans les processus worker, assurez-vous que les téléversements en arrière-plan sont terminés en appelant client.flush() ou client.finish() avant la fin de la tâche du worker. C’est particulièrement utile dans les environnements éphémères comme AWS Lambda, Google Cloud Run ou les notebooks qui se ferment juste après l’exécution. Ces méthodes répondent à des besoins différents ; choisissez celle qui convient à votre environnement :
  • weave.flush() : effectue un vidage silencieux. Recommandée lorsque Weave est intégré à des processus worker ou à des environnements d’intégration continue (CI).
  • weave.finish() : affiche la progression à l’aide d’une barre de progression ou de callbacks de statut. Recommandée pour les scripts interactifs ou les notebooks.
Les deux méthodes sont bloquantes jusqu’à ce que tous les téléversements en arrière-plan soient terminés, ce qui garantit qu’aucune donnée de trace n’est perdue à l’arrêt du processus worker. L’exemple suivant montre comment appeler client.finish() depuis une tâche Celery afin de vider les traces avant que le worker ne rende la main. Remplacez [TEAM-NAME] par le nom de votre équipe W&B et [PROJECT-NAME] par le nom de votre projet W&B :
Vous pouvez également utiliser le gestionnaire de contexte with pour appeler weave.finish() automatiquement à la sortie du bloc :
Vous pouvez également améliorer les performances de votre application avec weave.flush(). Pour plus d’informations, voir Vidage. Pour mieux vous prémunir contre la perte de données, envisagez d’activer le journal à écriture anticipée, qui écrit les données de trace sur le disque avant de les envoyer au serveur.
Données de trace Performances
Last modified on September 30, 2026