Sintaxe
newrelic.agent.accept_distributed_trace_payload(payload, transport_type='HTTP')Este método é utilizado para aceitar a carga utilizada para conectar a transação dentro de um distributed trace.
Requisitos
Agente Python versão 4.2.0.100 ou superior.
Cuidado
Esta API foi descontinuada na versão 5.6.0.135 e completamente removida na versão 11.0.0. Em vez disso, use accept_distributed_trace_headers.
distributed tracing deve estar ativado.
Descrição
Para obter contexto sobre como usar esta chamada, leia primeiro sua chamada de API parceira create_distributed_trace_payload e Habilitar distributed tracing com API do agente.
Esta chamada é usada para vincular transações analisando a carga distributed tracing gerada por create_distributed_trace_payload.
Parâmetro
Parâmetro  | Descrição  | 
|---|---|
 dicionário ou string  | Obrigatório. A carga útil a ser aceita.  | 
 corda  | Opcional, o padrão é   | 
Valores de retorno
Quando bem-sucedido, retorna True.
Quando malsucedido, retorna False. A aceitação de uma carga útil pode falhar por vários motivos:
- A transação atual não está habilitada.
 - Accept foi chamado fora do escopo de uma transação.
 - A carga útil está vazia.
 - distributed tracing não está ativado.
 accept_distributed_trace_payloadfoi chamado depois decreate_distributed_trace_payloade não antes.accept_distributed_trace_payloadfoi chamado várias vezes em uma única transação.- A carga útil não pôde ser analisada.
 - A carga foi enviada de uma conta não confiável.
 
Exemplos
Aceitar uma carga distributed trace dentro de uma tarefa em segundo plano
Um exemplo de uso accept_distributed_trace_payload em uma tarefa em segundo plano:
@newrelic.agent.background_task()def handle(request):    payload = request.headers.get('newrelic')    if payload:        newrelic.agent.accept_distributed_trace_payload(payload)
    _do_some_work()Consumir de uma fila
Um exemplo de uso accept_distributed_trace_payload e criação de uma tarefa em segundo plano para cada mensagem:
import newrelic.agentnewrelic.agent.initialize('newrelic.ini')application = newrelic.agent.register_application(timeout=10.0)
def main(queue):    for message in queue.consume():        with newrelic.agent.BackgroundTask(application, 'Queue Consume'):            payload = message.headers.get('newrelic')            newrelic.agent.accept_distributed_trace_payload(payload,                    transport_type='Queue')            _process_message(message)