• 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

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.