Из официальных документов:
Обратите внимание, что простой вызов сопрограммы не запланирует ее выполнение:
Это означает, что вы на самом деле не вызывали свою функцию так никто не ждет ничего и ничего не ждет, если вы не поместили await
перед вызовом функции.
Вместо этого вы можете запланировать задачу для нее или множество задач, используя asyncio
:
import asyncio
async def main():
loop = asyncio.get_event_loop()
t1 = loop.create_task(stuff())
t2 = loop.create_task(stuff())
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
Чтобы узнать больше об этом, я бы порекомендовал прочитать https://docs.python.org/3/library/asyncio-task.html