Python 3.7+Асинхронное программированиефункция
asyncio.get_running_loop()
event loop
Возвращает цикл событий, работающий в текущем потоке ОС; вызывается из корутин и колбэков.
Синтаксис
loop = asyncio.get_running_loop()
Предпочтительная замена get_event_loop() внутри async-кода: поведение однозначное — цикла нет, значит RuntimeError, и никакого неявного создания цикла. Из обычной функции вне asyncio.run() её звать бессмысленно. Цикл нужен для низкоуровневых вызовов: loop.time(), call_later, run_in_executor, create_future. Появилась в 3.7.
Примеры
import asyncio
async def main():
loop = asyncio.get_running_loop()
loop.call_later(0.01, print, 'через 10 мс')
await asyncio.sleep(0.02)
print(loop.is_running()) # → True
asyncio.run(main()) # → через 10 мс / True
import asyncio
asyncio.get_running_loop() # → RuntimeError: no running event loop
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности