Sintaxe
newrelic.agent.set_background_task(flag=True)
Marca uma transação como uma "tarefa em segundo plano".
Descrição
Esta chamada classifica uma transação como uma “tarefa em segundo plano”. As tarefas de transação marcadas como background ficam visíveis na interface como transações fora da web. Você também pode usar esta chamada para reclassificar uma tarefa em segundo plano do monitor como uma transação da web, passando o parâmetro False
.
Esta API reclassifica uma transação existente como uma transação de tarefa em segundo plano. Se não houver transação existente, esta chamada não funcionará.
A designação "tarefa em segundo plano" é normalmente usada para transações fora da web (por exemplo: processos de trabalho, sistemas baseados em trabalho ou script independente), mas você também pode querer designar uma transação da web como uma "tarefa em segundo plano" para separar de suas outras transações do aplicativo. Por exemplo, você tem uma transação da web de longa duração que está distorcendo sua pontuação Apdex ou tempo médio de resposta.
O agente identifica uma transação de monitor como uma transação da web ou tarefa em segundo plano no início da transação, com base no tipo de wrapper de ponto de entrada que iniciou o monitoramento. Para criar inicialmente uma tarefa em segundo plano (em vez de marcar uma transação da web como uma tarefa em segundo plano), você usaria background_task
. Para obter um tutorial sobre como criar tarefas em segundo plano, consulte monitor tarefas, scripts e funções que não sejam da Web.
Dica
Você também pode marcar uma transação da web como uma tarefa em segundo plano no dicionário de ambiente WSGI. Para fazer isso, defina a chave newrelic.set_background_task
para a solicitação específica no dicionário de ambiente WSGI transmitido pelo servidor WSGI em seu aplicativo WSGI de destino.
Parâmetro
Parâmetro | Descrição |
---|---|
boleano | Opcional. O valor padrão é |
Valores de retorno
Nenhum.
Exemplos
Configurando solicitação da web para tarefa em segundo plano
Um exemplo de configuração de uma transação da web para uma tarefa em segundo plano que não seja da web:
def wsgi_app(environ, start_response): newrelic.agent.set_background_task()
Reclassificando uma tarefa em segundo plano como uma transação da web
Às vezes, você pode querer classificar uma tarefa em segundo plano como uma transação da web, para poder vê-la com as transações da web de outros aplicativos. Para fazer isso, adicione esta chamada onde uma tarefa de segundo plano do monitor é executada:
import newrelic.agentnewrelic.agent.set_background_task(False)