Python Glossary English

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Сообщить о неточности