This call classifies a transaction as a "background task." Transactions marked as background tasks are visible in the New Relic APM UI as non-web transactions. You can also use this call to reclassify a monitored background task as a web transaction, by passing the
This API reclassifies an existing transaction as a background task transaction. If there is no existing transaction, this call will not work.
The "background task" designation is typically used for non-web transactions (for example: worker processes, job-based systems, or standalone scripts), but you may also want to designate a web transaction as a "background task" to separate it from your other application transactions. For example, you have a long-running web transaction which is skewing your Apdex score or average response time.
The agent identifies a monitored transaction as a web transaction or background task at the start of the transaction, based on which type of entry-point wrapper initiated the monitoring. To create a background task initially (instead of marking a web transaction as a background task), you would use
background_task. For a tutorial on how to create background tasks, see Monitor non-web tasks, scripts, and functions.
You can also mark a web transaction as a background task in the WSGI environ dictionary. To do so, set the
newrelic.set_background_task key for the specific request in the WSGI environ dictionary passed by the WSGI server in your target WSGI app.
|Optional. Default value is
Setting web request to background task
An example of setting a web transaction to a non-web background task:
def wsgi_app(environ, start_response): newrelic.agent.set_background_task()
Reclassifying a background task as a web transaction
Sometimes, you may want to instead classify a background task as a web transaction, so you can see it with your other application web transactions in the New Relic UI. To do that, add this call where a monitored background task executes:
import newrelic.agent newrelic.agent.set_background_task(False)