• 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

Delayed::Job instrumentation

El agente Ruby tiene instrumentación integrada para la biblioteca Delayed::Job . No se requiere instrumentación adicional.

Ver tareas en segundo plano

Siempre que la gema o el complemento del agente Ruby de New Relic se cargue antes de que se inicie el trabajador Delayed::Job , todas las tareas se monitorearán con el mismo nivel de detalle que las acciones del controlador. Para ver las acciones en sí:

  1. Vaya a

    one.newrelic.com > All capabilities > APM & services > (select an app) > Monitor > Transactions

    .

  2. En la página APM

    Transactions

    , seleccione

    Other transactions

    .

Agregar atributo personalizado

Si desea agregar un atributo personalizado a sus transacciones Delayed::Job , puede escribir un complemento Delayed::Job a través de un enlace de ciclo de vida y agregar esos atributos a la transacción para cada trabajo ejecutado.

  1. Cree un complemento con la siguiente estructura:

    module NewRelicInstrumenter
    class DelayedJobPlugin < Delayed::Plugin
    callbacks do |lifecycle|
    lifecycle.around(:invoke_job) do |job, *args, &block|
    # Forward the call to the next callback in the callback chain
    ::NewRelic::Agent.add_custom_attributes(
    {
    # Any custom attributes go here -- from here you can access info
    # about the job like run_at, created_at, etc
    my_custom_attribute: "my_custom_attribute_value"
    }
    )
    block.call(job, *args)
    end
    end
    end
    end
  2. Agregue el complemento a Delayed::Job en el inicializador del archivo config/initializers/delayed_job.rb :

    require "new_relic_instrumenter"
    Delayed::Worker.plugins << NewRelicInstrumenter::DelayedJobPlugin

Resolución de problemas

El agente Ruby depende de poder identificar que se está ejecutando en Delayed::Job para poder configurar correctamente la instrumentación. Para hacer esto, examina el nombre del script (la variable $0 en Ruby) para ver si termina con delayed_job.

Si ha cambiado el nombre del script que utiliza para iniciar sus trabajadores delayed_job a otro, o si tiene un script personalizado con un nombre diferente, deberá decirle explícitamente al agente que está usando Delayed::Job configurando el NEW_RELIC_DISPATCHER variable de entorno a delayed_job al iniciar sus Delayed::Job trabajadores. Por ejemplo:

bash
$
NEW_RELIC_DISPATCHER=delayed_job bundle exec ./script/my_custom_script

Si parece que los trabajos no se están supervisando, revise el archivo newrelic_agent.log generado cuando se inicia el trabajador. Debe indicar si el agente detecta Delayed y se comunica con el servidor. Si no encuentra un log, o si aún no puede determinar por qué los trabajos no aparecen, obtenga soporte en support.newrelic.com.

Copyright © 2024 New Relic Inc.

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