• 로그인

사용자의 편의를 위해 제공되는 기계 번역입니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

message_transaction(파이썬 에이전트 API)

통사론

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)

보고 메시지는 트랜잭션으로 기능합니다.

요구 사항

에이전트 버전 2.88.0.72 이상.

설명

이 데코레이터는 메시징 기능의 데코레이터로 사용할 수 있는 MessageTransactionWrapper일부 를 반환합니다. 사용되는 경우 반환된 데코레이터는 메시지 트랜잭션 및 해당 메시지 관련 속성 을 기록합니다.

데코레이터가 애플리케이션에서 작동하지 않으면 다음 중 하나를 사용할 수 있습니다.

  • 컨텍스트 관리자 : 컨텍스트 관리자 양식은 MessageTransaction 입니다. 데코레이터와 동일한 매개변수를 사용합니다.
  • 래퍼 : 래퍼 형식은 MessageTransactionWrapper 입니다. 데코레이터를 사용하지 않고 래핑된 함수를 반환하는 데 사용할 수 있습니다.
  • 경로 기반 래퍼 : 경로 기반 래퍼 형식은 wrap_message_transaction 입니다. 이것은 원숭이 패치를 통해 주어진 객체에 MessageTransactionWrapper 을 적용합니다. 데코레이터와 동일한 매개변수와 추가 moduleobject_path 매개변수를 사용합니다.

이러한 다른 호출을 사용해야 하는 경우에 대한 설명은 다른 호출 형식 을 참조하십시오. 호출 예는 를 참조하십시오.

매개변수

message_transaction 및 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)

데코레이터와 컨텍스트 관리자는 다음 매개변수를 사용합니다.

매개변수

설명

library

문자열 또는 함수

필수의. 사용 중인 메시지 브로커의 이름(또는 유형)입니다. 그것을 정의하는 문자열이나 그것을 반환하는 함수를 전달하십시오.

destination_type

문자열 또는 함수

필수의. 작업의 대상이 되는 대상 유형입니다. 그것을 정의하는 문자열이나 그것을 반환하는 함수를 전달하십시오. 일반적으로 Exchange 또는 Queue 입니다.

destination_name

문자열 또는 함수

필수의. 작업의 대상이 되는 대상의 이름입니다. 그것을 정의하는 문자열이나 그것을 반환하는 함수를 전달하십시오.

application

애플리케이션

필수의. application 에서 반환된 애플리케이션 인스턴스.

routing_key

문자열 또는 함수

선택 과목. 메시지의 라우팅 키입니다.

exchange_type

문자열 또는 함수

선택 과목. 메시지의 교환 유형입니다.

headers

사전 또는 기능

선택 과목. 메시지의 헤더입니다.

queue_name

문자열 또는 함수

선택 과목. 메시지의 대기열 이름 속성입니다.

reply_to

문자열 또는 함수

선택 과목. 메시지의 replyTo 속성입니다.

correlation_id

문자열 또는 함수

선택 과목. 메시지의 correlationID 속성입니다.

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)

MessageTransactionWrapper 은 이 wrapped 매개변수 외에 데코레이터 와 동일한 매개변수를 모두 사용합니다.

매개변수

설명

wrapped

기능

필수의. 메시지 브로커 시간을 나타내는 메시징 기능입니다.

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)

module 매개변수 및 object_path 매개변수 외에 데코레이터 가 수행하는 모든 매개변수를 사용합니다.

매개변수

설명

module

물체

필수의. 래핑할 개체를 포함하는 모듈입니다.

object_path

필수의. 래핑할 개체의 경로입니다.

반환 값

데코레이터 message_transactionMessageTransactionWrapper 부분을 반환합니다.

message_transaction 예시

데코레이터의 예:

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

메시지 트랜잭션 예제

컨텍스트 관리자를 사용하는 예:

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

MessageTransactionWrapper 예

래퍼를 사용한 예:

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

wrap_message_transaction 예시

경로 기반 래퍼를 사용하는 예:

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

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