• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Cette traduction automatique est fournie pour votre commodité.

En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.

Créer un problème

Python agent et Celery

Si vous utilisez Celery comme système de Python agent mise en file Celery d'attente de tâches distribuées, vous pouvez utiliser l' pour enregistrer les processus en tant que transactions non Web .

Pour que l’agent Python fonctionne avec Celery, suivez d’abord les instructions d’installation de l’agent pour installer, configurer et tester l’agent. Ensuite, utilisez ces instructions spécifiques au céleri.

Courir Celery

La commande que vous utilisez pour exécuter Celery avec l'agent dépend de votre version de Celery et de votre configuration spécifique.

Sélectionnez le nom de l'application

Le app_name paramètre dans le Python agent configuration fichier définit le nom de l'application affiché dans l'UI New Relic.

  • Si votre Python agent monitore Celery les tâches et que vous définissez app_name sur la même valeur que celle utilisée dans de votre application agent app_name, les données des deux sources seront combinées dans UI l' sous ce nom.
  • Si vous définissez des noms différents, les données apparaissent séparément dans l' UI sous deux noms différents.

En définissant plusieurs noms d'application dans les fichiers de configuration agent , vous pouvez monitorer à la fois les données combinées et les données séparées. Voici une manière courante de procéder, en utilisant une application Django comme exemple :

Ignorer les erreurs de nouvelle tentative de tâche

Lors de l'utilisation de Celery, une tâche peut éventuellement échouer et générer une exception celery.exceptions:Retry ou celery.exceptions:RetryTaskError . L'exception dépend de la version de Celery utilisée.

Pour ignorer ces erreurs, définissez cette valeur à partir de l'UI de New Relic Application settings ou à partir du agent fichier de configuration . Les modifications UI remplacent les modifications du fichier de configuration conformément aux règles de prioritéconfiguration .

Pour utiliser les paramètres d'erreur ignorée depuis l' UI:

  1. À partir de one.newrelic.com, sélectionnez APM > (select an app) > Settings > Application.
  2. Sélectionnez Server-side agent configuration.
  3. À partir de Error collection, saisissez les erreurs que vous souhaitez ignorer, séparées par des virgules.

Pour ignorer ces erreurs à l’aide du fichier de configuration de l’agent, utilisez le paramètre ignore_errors et une liste d’exceptions séparées par des espaces :

error_collector.ignore_errors = celery.exceptions:Retry celery.exceptions:RetryTaskError

Dépannage

Lorsqu'un processus de travail Celery est arrêté soudainement, l'agent n'est pas en mesure de terminer son processus d'arrêt normal, ce qui signifie que sa charge utile de données finale n'est pas envoyée. Cela a pour conséquence que l'agent signale moins de transactions Celery que prévu ou aucune transaction du tout.

Cela peut se produire lors de l'utilisation du paramètre CELERYD_MAX_TASKS_PER_CHILD, qui définit le nombre maximal de tâches qu'un processus de travail de pool peut exécuter avant d'être remplacé par un nouveau. Si cette option est utilisée, le travailleur est arrêté de force lorsque cette limite est atteinte, ce qui signifie que ces données ne sont pas enregistrées par l'agent. Par exemple, si MAX_TASKS_PER_CHILD = 1, aucune donnée n'est signalée.

La manière de résoudre ce problème dépend de la raison pour laquelle vous souhaitez utiliser la limite MAX_TASKS_PER_CHILD dans votre application.

  • Pour permettre le processus d'arrêt normal, rétablissez le paramètre par défaut sans limite.
  • Pour atténuer l’impact du problème, augmentez la limite MAX_TASKS_PER_CHILD .

Important

Pour la version 3.2.2.94 ou supérieure, l'agent Python s'arrêtera lorsque la limite MAX_TASKS_PER_CHILD sera atteinte. Aucune donnée ne sera perdue.

Important

Le monitoring du processus principal de Celery n'est pas possible avec l'agent, il ne peut monitorer que les processus de travail. Voir l'avertissement d'activation de l'application

Droits d'auteur © 2025 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.