構文
newrelic.agent.set_background_task(flag=True)
トランザクションを"のバックグラウンドタスクとしてマークします。"
説明
この呼び出しは、トランザクションを「バックグラウンドタスク」として分類します。バックグラウンドタスクとしてマークされたトランザクションは、非WebトランザクションとしてUIに表示されます。この呼び出しを使用して、 False
パラメーターを渡すことにより、監視対象のバックグラウンドタスクをWebトランザクションとして再分類することもできます。
このAPIは、既存のトランザクションをバックグラウンドタスクのトランザクションとして再分類します。既存のトランザクションがない場合、このコールは機能しません。
"バックグラウンドタスク" の指定は、通常、ウェブ以外のトランザクション(ワーカープロセス、ジョブベースのシステム、またはスタンドアロンのスクリプトなど)に使用されますが、ウェブトランザクションを"バックグラウンドタスク" として指定し、他のアプリケーショントランザクションから分離することもできます。例えば、Apdexスコアや平均応答時間を歪ませている長時間稼働のウェブトランザクションがあるとします。
エージェントは、監視対象のトランザクションを、トランザクションの開始時にWebトランザクションまたはバックグラウンドタスクとして識別します。これは、監視を開始したエントリポイントラッパーのタイプに基づいています。 (Webトランザクションをバックグラウンドタスクとしてマークする代わりに)最初にバックグラウンドタスクを作成するには、 background_task
を使用します。バックグラウンドタスクを作成する方法のチュートリアルについては、「非Webタスク、スクリプト、および関数の監視」を参照してください。
ヒント
また、WSGI環境ディクショナリでバックグラウンドタスクとしてWebトランザクションをマークすることもできます。これを行うには、ターゲットWSGIアプリのWSGIサーバーから渡されるWSGI環境ディクショナリで特定のリクエストのnewrelic.set_background_task
キーを設定します。
パラメーター
パラメータ | 説明 |
---|---|
ブール値 | オプション。デフォルト値は |
戻り値
なし。
例
Webリクエストをバックグラウンドタスクに設定する
ウェブトランザクションを非ウェブのバックグラウンドタスクに設定する例です。
def wsgi_app(environ, start_response): newrelic.agent.set_background_task()
バックグラウンドタスクのウェブトランザクションへの再分類
場合によっては、代わりにバックグラウンドタスクをWebトランザクションとして分類して、他のアプリケーションWebトランザクションで表示できるようにすることができます。これを行うには、監視対象のバックグラウンドタスクが実行される場所に次の呼び出しを追加します。
import newrelic.agentnewrelic.agent.set_background_task(False)