• ログイン無料アカウント

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

ensure_futureを使用する際の情報の欠落(Python)

問題

asyncio.ensure_future をコルーチンで使用すると、詳細な関数トレース情報が表示されません。

解決策

ensure_future から作成された未来は、作成されたのと同じコルーチンで待ち受ける必要があります。たとえば、 Before のセクションでは、 awaitensure_future と一緒になっていないため、情報が欠落してしまいます。

Before:

import asyncio
async def foo():
ensure_future(bar())
async def bar():
await asyncio.sleep(0.5)

:

import asyncio
async def foo():
await ensure_future(bar())
async def bar():
await asyncio.sleep(0.5)
Copyright © 2022 New Relic Inc.