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

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

En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.

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.