• /
  • 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

message_transaction (API del agente Python)

Sintaxis

newrelic.agent.message_transaction(library, destination_type, destination_name, application, routing_key=None, exchange_type=None, headers=None, queue_name=None, reply_to=None, correlation_id=None)

El mensaje de informe funciona como transacción.

Requisitos

Versión del agente 2.88.0.72 o superior.

Descripción

Este decorador devuelve una parte de MessageTransactionWrapper que puede usarse como decorador para una función de mensajería. Cuando se usa, el decorador devuelto registra una transacción de mensaje y su atributo relacionado con el mensaje.

Si el decorador no funciona en su aplicación, puede utilizar uno de los siguientes:

  • The context manager

    : El formulario del administrador de contexto es MessageTransaction. Toma el mismo parámetro que el decorador.

  • The wrapper

    : El formulario contenedor es MessageTransactionWrapper. Se puede utilizar para devolver una función envuelta sin el uso de un decorador.

  • The path-based wrapper

    : El formulario contenedor basado en ruta es wrap_message_transaction. Esto aplica el MessageTransactionWrapper a un objeto determinado mediante parches de mono. Esto toma los mismos parámetros que el decorador más un parámetro module y object_path adicional.

Para obtener una explicación de cuándo se deben utilizar estas diferentes llamadas, consulte Diferentes formatos de llamadas. Consulte Ejemplos para ver ejemplos de llamadas.

Parámetros

Parámetros para message_transaction y MessageTransaction

newrelic.agent.message_transaction(library, destination_type, destination_name, application, routing_key=None, exchange_type=None, headers=None, queue_name=None, reply_to=None, correlation_id=None)
newrelic.agent.MessageTransaction(library, destination_type, destination_name, application, routing_key=None, exchange_type=None, headers=None, queue_name=None, reply_to=None, correlation_id=None)

El decorador y el administrador de contexto utilizan estos parámetros:

Parámetro

Descripción

library

cadena o función

Requerido. El nombre (o tipo) del intermediario de mensajes en uso. Pase una cadena que lo defina o una función que lo devuelva.

destination_type

cadena o función

Requerido. El tipo de destino objetivo de la operación. Pase una cadena que lo defina o una función que lo devuelva. Normalmente es Exchange o Queue.

destination_name

cadena o función

Requerido. El nombre del destino objetivo de la operación. Pase una cadena que lo defina o una función que lo devuelva.

application

Aplicación

Requerido. Una instancia de aplicación, tal como la devuelve application.

routing_key

cadena o función

Opcional. La clave de enrutamiento del mensaje.

exchange_type

cadena o función

Opcional. El tipo de intercambio del mensaje.

headers

diccionario o función

Opcional. Los encabezados del mensaje.

queue_name

cadena o función

Opcional. La propiedad del nombre de la cola del mensaje.

reply_to

cadena o función

Opcional. La propiedad replyTo del mensaje.

correlation_id

cadena o función

Opcional. La propiedad correlationID del mensaje.

Parámetro para MessageTransactionWrapper

newrelic.agent.MessageTransactionWrapper(wrapped, library, destination_type, destination_name, application, routing_key=None, exchange_type=None, headers=None, queue_name=None, reply_to=None, correlation_id=None)

El MessageTransactionWrapper toma todos los mismos parámetros que el decorador además de este parámetro wrapped :

Parámetro

Descripción

wrapped

función

Requerido. La función de mensajería se atribuye al tiempo del intermediario de mensajes.

Parámetro para wrap_message_transaction

newrelic.agent.wrap_message_transaction(module, object_path, library, destination_type, destination_name, application, routing_key=None, exchange_type=None, headers=None, queue_name=None, reply_to=None, correlation_id=None)

Esto toma todos los parámetros que hace el decorador además de un parámetro module y un parámetro object_path :

Parámetro

Descripción

module

objeto

Requerido. El módulo que contiene el objeto que se va a envolver.

object_path

cadena

Requerido. La ruta al objeto que se va a envolver.

Valores de retorno

El decorador message_transaction devuelve un parcial MessageTransactionWrapper .

Ejemplos

ejemplo de message_transaction

Un ejemplo del decorador:

mt = message_transaction('library', 'Exchange', 'x', routing_key='foo.bar')
@mt
def foo():
pass

Ejemplo de transacción de mensaje

Un ejemplo usando el administrador de contexto:

def callback(method, properties, body):
with MessageTransaction('library', 'Exchange', 'x', application=app):
pass

Ejemplo de MessageTransactionWrapper

Un ejemplo usando el contenedor:

basic_consume_wrapper = newrelic.agent.MessageTransactionWrapper(basic_consume_register_callback, 'library', 'Queue', 'x')
method_frame, header_frame, body = basic_consume_wrapper('queue')

ejemplo de wrap_message_transaction

Un ejemplo que utiliza el contenedor basado en ruta:

wrap_message_transaction('module', 'Foo.bar', 'library', 'Exchange', 'x')
Copyright © 2024 New Relic Inc.

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