Краткий список API

Высокоуровневый API

Корутины и задачи

  • asyncio.run(coro, *, debug=False) - запуск asyncio программы. Выполняет корутину coro и возвращает результат.

  • asyncio.create_task(coro, *, name=None) - обертывает корутину coro в Task и планирует ее выполнение. Возвращает объект задачи Task.

  • coroutine asyncio.sleep(delay, result=None, *, loop=None) - блокировка на delay секунд (устарело в 3.8, будет удалено в 3.10: параметр loop).

  • awaitable asyncio.gather(*aws, loop=None, return_exceptions=False) - запускает ожидаемые объекты из последовательности aws конкурентно (устарело в 3.8, будет удалено в 3.10: параметр loop).

  • awaitable asyncio.shield(aw, *, loop=None) - защита ожидаемого объекта от отмены (устарело в 3.8, будет удалено в 3.10: параметр loop).

  • coroutine asyncio.wait_for(aw, timeout, *, loop=None) - дождаться завершения ожидаемого aw с таймаутом (устарело в 3.8, будет удалено в 3.10: параметр loop).

  • coroutine asyncio.wait(aws, *, loop=None, timeout=None, return_when=ALL_COMPLETED) - конкурентный запуск ожидаемых объектов aws и блокировка, пока не будет выполнено условие, указанное в return_when (устарело в 3.8, будет удалено в 3.10: параметр loop). Также теперь нужно передавать объекты Task, а не корутины.

  • asyncio.as_completed(aws, *, loop=None, timeout=None) - запуск ожидаемых объектов итеративно и конкурентно. Возвращает итератор корутины (устарело в 3.8, будет удалено в 3.10: параметр loop).

  • asyncio.run_coroutine_threadsafe(coro, loop) - планирование из других потоков. Отправляет корутину в событийный цикл. Потокобезопасно. Вызывается из потока ОС, отличного от того, где выполняется событийный цикл.

  • asyncio.current_task(loop=None) - Интроспекция; возвращает текущую Task сущность или None, если задача не выполняется.

  • asyncio.all_tasks(loop=None) - Интроспекция; возвращает множество еще не завершенных объектов Task, запущенных в цикле.

  • class asyncio.Task(coro, *, loop=None, name=None) - Объект задачи; Future-подобный объект, запускающий корутину. Не потокобезопасный. Задачи используются для запуска корутин в событийном цикле (устарело в 3.8, будет удалено в 3.10: параметр loop).

  • @asyncio.coroutine - декоратор для маркировки основанных на генераторах корутин (устарело в 3.8, будет удалено в 3.10).

  • asyncio.iscoroutine(obj) - Возвращает True, если obj - объект корутины.

  • asyncio.iscoroutinefunction(func) - Возвращает True, если func - функция-корутина.

Last updated