• EnglishEspañol日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

Crea una propuesta

Agente Python y Celery

Si está utilizando Celery como un sistema de cola de tareas distribuido, puede usar el agente Python para registrar los procesos de Celery como transacción no web.

Para que el agente Python funcione con Celery, primero siga las instrucciones de instalación del agente para instalar, configurar y probar el agente. Luego siga estas instrucciones específicas para el Celery.

Ejecutar Celery

El comando que utilice para ejecutar Celery con el agente depende de su versión de Celery y de su configuración específica.

Seleccione el nombre de la aplicación

La configuración app_name en el archivo de configuración del agente Python establece el nombre de la aplicación que se muestra en la UI de New Relic.

  • Si su agente de Python monitorea las tareas de Celery y configura app_name con el mismo valor utilizado en el app_name de su agente de aplicación, los datos de ambas fuentes se combinarán en la UI con ese nombre.
  • Si establece nombres diferentes, los datos aparecen por separado en la UI como dos nombres diferentes.

Al configurar varios nombres de aplicaciones en los archivos de configuración del agente, puede monitor tanto los datos combinados como los datos segregados. A continuación se muestra una forma común de hacer esto, usando una aplicación Django como ejemplo:

Ignorar errores de reintento de tarea

Al utilizar Celery, es posible que una tarea falle y genere una excepción celery.exceptions:Retry o celery.exceptions:RetryTaskError . La excepción depende de qué versión de Celery se utilice.

Para ignorar estos errores, configúrelo desde la UI de New Relic Application settings o desde el archivo de configuración del agente. Los cambios UI anulan los cambios en el archivo de configuración según las reglas de precedencia de configuración.

Para utilizar la configuración de error omitida desde la UI:

  1. Desde

    one.newrelic.com

    , seleccione

    APM > (select an app) > Settings > Application

    .

  2. Seleccione

    Server-side agent configuration

    .

  3. Desde

    Error collection

    , ingresa los errores que deseas ignorar, separados por comas.

Para ignorar estos errores usando el archivo de configuración del agente, use la configuración ignore_errors y una lista de excepciones separadas por espacios:

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

Resolución de problemas

Cuando un proceso de trabajo de Celery finaliza repentinamente, el agente no puede completar su proceso de apagado normal, lo que significa que no se envía su carga útil de datos final. Esto da como resultado que el agente informe menos transacciones de Celery de las esperadas o ninguna transacción en absoluto.

Esto puede ocurrir cuando se utiliza la configuración CELERYD_MAX_TASKS_PER_CHILD , que define la cantidad máxima de tareas que un proceso de trabajo del grupo puede ejecutar antes de ser reemplazado por uno nuevo. Si se utiliza, el trabajador es cerrado por la fuerza cuando se alcanza ese límite, lo que significa que el agente no registra esos datos. Por ejemplo, si MAX_TASKS_PER_CHILD = 1, esto da como resultado que no se informen datos.

La forma de solucionar este problema dependerá de por qué desea utilizar el límite MAX_TASKS_PER_CHILD en su aplicación.

  • Para permitir el proceso de apagado normal, vuelva a la configuración predeterminada sin límite.
  • Para reducir el impacto del problema, aumente el límite de MAX_TASKS_PER_CHILD .

Importante

Para la versión 3.2.2.94 o superior, el agente Python se cerrará cuando se alcance el límite MAX_TASKS_PER_CHILD . no se perderán los datos.

Importante

Monitorear el proceso principal de Celery no es posible con el agente, solo puede monitor los procesos de trabajo. Ver Activar advertencia de aplicación

Copyright © 2024 New Relic Inc.

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