Python Glossary English

Python 3.14+Асинхронное программированиепонятие

asyncio.FutureCallGraph

граф вызовов

Снимок графа ожиданий для задачи или future: кто её ждёт (awaited_by) и на каких кадрах она стоит (call_stack). Возвращается capture_call_graph(), Python 3.14+.

Синтаксис

graph = asyncio.capture_call_graph(future=None, *, depth=1, limit=None)

Это замороженный dataclass с полями future, call_stack и awaited_by — данные для отладки зависшей программы, а не управление задачами. Обычный traceback показывает только стек одной корутины, а граф видит и цепочку «задача A ждёт задачу B». Чтобы просто посмотреть, хватит asyncio.print_call_graph() или python -m asyncio ps PID; в Python 3.13 и раньше имени нет.

Примеры

import asyncio
async def child():
    await asyncio.sleep(0.01)
    return asyncio.capture_call_graph()
async def main():
    graph = await asyncio.create_task(child(), name='child')
    print(type(graph).__name__, graph.future.get_name())  # → FutureCallGraph child
    print(len(graph.awaited_by))  # → 1 — её ждёт main
asyncio.run(main())

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности