• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Cette traduction automatique est fournie pour votre commodité.

En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.

Créer un problème

message_transaction (Python API d'agent)

Syntaxe

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)

Les messages de rapport fonctionnent comme des transactions.

Exigences

Version de l'agent 2.88.0.72 ou supérieure.

Description

Ce décorateur renvoie une partie de MessageTransactionWrapper qui peut être utilisée comme décorateur pour une fonction de messagerie. Lorsqu'il est utilisé, le décorateur renvoyé enregistre une transaction de message et son attribut lié au message.

Si le décorateur ne fonctionne pas dans votre application, vous pouvez utiliser l'une des solutions suivantes :

  • The context manager: Le formulaire du gestionnaire de contexte est MessageTransaction. Il prend les mêmes paramètres que le décorateur.
  • The wrapper: La forme wrapper est MessageTransactionWrapper. Il peut être utilisé pour renvoyer une fonction encapsulée sans l'utilisation d'un décorateur.
  • The path-based wrapper: La forme wrapper basée sur le chemin est wrap_message_transaction. Cela applique le MessageTransactionWrapper à un objet donné via le patch de singe. Cela prend le même paramètre que le décorateur plus un paramètre module et object_path supplémentaire.

Pour une explication sur le moment où ces différents appels doivent être utilisés, voir Différents formats d'appel. Voir Exemples pour des exemples d'appel.

Paramètres

paramètre pour message_transaction et 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)

Le décorateur et le gestionnaire de contexte utilisent ces paramètres :

paramètres

Description

library

chaîne ou fonction

Requis. Le nom (ou le type) du courtier de messages utilisé. Transmettez soit une chaîne qui le définit, soit une fonction qui le renvoie.

destination_type

chaîne ou fonction

Requis. Le type de destination ciblée par l'opération. Transmettez soit une chaîne qui le définit, soit une fonction qui le renvoie. Il s’agit généralement Exchange ou Queue.

destination_name

chaîne ou fonction

Requis. Le nom de la destination ciblée par l'opération. Transmettez soit une chaîne qui le définit, soit une fonction qui le renvoie.

application

Application

Requis. Une instance d'application, telle que renvoyée par application.

routing_key

chaîne ou fonction

Facultatif. La clé de routage du message.

exchange_type

chaîne ou fonction

Facultatif. Le type d'échange du message.

headers

dictionnaire ou fonction

Facultatif. Les en-têtes du message.

queue_name

chaîne ou fonction

Facultatif. La propriété du nom de la file d'attente du message.

reply_to

chaîne ou fonction

Facultatif. La propriété replyTo du message.

correlation_id

chaîne ou fonction

Facultatif. La propriété correlationID du message.

paramètre pour 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)

Le MessageTransactionWrapper prend tous les mêmes paramètres que le décorateur en plus de ce paramètre wrapped :

paramètres

Description

wrapped

fonction

Requis. La fonction de messagerie à attribuer au temps du courtier de messages.

Paramètres pour 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)

Cela prend tous les paramètres que le décorateur fait en plus d'un paramètre module et d'un paramètre object_path :

paramètres

Description

module

objet

Requis. Le module contenant l'objet à envelopper.

object_path

chaîne

Requis. Le chemin vers l'objet à envelopper.

Valeurs de retour

Le décorateur message_transaction renvoie un partiel MessageTransactionWrapper .

Exemples

Exemple de message_transaction

Un exemple du décorateur :

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

Exemple de MessageTransaction

Un exemple utilisant le gestionnaire de contexte :

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

Exemple de MessageTransactionWrapper

Un exemple utilisant le wrapper :

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

Exemple de transaction wrap_message_transaction

Un exemple utilisant le wrapper basé sur le chemin :

wrap_message_transaction('module', 'Foo.bar', 'library', 'Exchange', 'x')
Droits d'auteur © 2025 New Relic Inc.

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