Индекс низкоуровневого API

На этой странице перечислены все низкоуровневые API Asyncio.

Получение цикла событий

asyncio.get_running_loop()

предпочтительная функция для получения запущенного цикла событий.

asyncio.get_event_loop()

Получение экземпляра цикла событий (запущенного или текущего через текущую политику).

asyncio.set_event_loop()

Установите цикл событий в качестве текущего с помощью текущей политики.

asyncio.new_event_loop()

Создайте новый цикл событий.

Примеры

Методы циклов событий

См. также основной раздел документации о Методы циклов событий.

Жизненный цикл

loop.run_until_complete()

Выполните Future/Task/awaitable до завершения.

loop.run_forever()

Запустите цикл событий навсегда.

loop.stop()

Остановите цикл событий.

loop.close()

Закройте цикл событий.

loop.is_running()

Возвращает True, если цикл событий запущен.

loop.is_closed()

Возвращает True, если цикл событий закрыт.

await loop.shutdown_asyncgens()

Закройте асинхронные генераторы.

Отладка

loop.set_debug()

Включите или отключите режим отладки.

loop.get_debug()

Получение текущего режима отладки.

Планирование обратных вызовов

loop.call_soon()

Вызовите обратный вызов в ближайшее время.

loop.call_soon_threadsafe()

Потокобезопасный вариант loop.call_soon().

loop.call_later()

Вызовите обратный вызов после заданного времени.

loop.call_at()

Вызовите обратный вызов в заданное время.

Пул потоков/процессов

await loop.run_in_executor()

Запуск привязанной к процессору или другой блокирующей функции в исполнителе concurrent.futures.

loop.set_default_executor()

Установите исполнителя по умолчанию для loop.run_in_executor().

Задачи и будущее

loop.create_future()

Создайте объект Future.

loop.create_task()

Запланируйте coroutine как Task.

loop.set_task_factory()

Установите фабрику, используемую loop.create_task() для создания Tasks.

loop.get_task_factory()

Получите фабрику, которую loop.create_task() использует для создания Tasks.

DNS

await loop.getaddrinfo()

Асинхронная версия socket.getaddrinfo().

await loop.getnameinfo()

Асинхронная версия socket.getnameinfo().

Сетевые технологии и IPC

await loop.create_connection()

Откройте TCP-соединение.

await loop.create_server()

Создайте сервер TCP.

await loop.create_unix_connection()

Открыть соединение с сокетом Unix.

await loop.create_unix_server()

Создайте сервер сокетов Unix.

await loop.connect_accepted_socket()

Заверните пару socket в пару (transport, protocol).

await loop.create_datagram_endpoint()

Откройте дейтаграммное (UDP) соединение.

await loop.sendfile()

Отправка файла через транспорт.

await loop.start_tls()

Обновление существующего соединения до TLS.

await loop.connect_read_pipe()

Оберните конец трубы для чтения в пару (transport, protocol).

await loop.connect_write_pipe()

Заверните конец трубы для записи в пару (transport, protocol).

Розетки

await loop.sock_recv()

Получение данных от socket.

await loop.sock_recv_into()

Получение данных из socket в буфер.

await loop.sock_recvfrom()

Получение дейтаграммы от socket.

await loop.sock_recvfrom_into()

Получение дейтаграммы из socket в буфер.

await loop.sock_sendall()

Отправьте данные на socket.

await loop.sock_sendto()

Отправка дейтаграммы по каналу socket на указанный адрес.

await loop.sock_connect()

Подключите socket.

await loop.sock_accept()

Примите соединение socket.

await loop.sock_sendfile()

Отправьте файл по каналу socket.

loop.add_reader()

Начните следить за файловым дескриптором на предмет доступности чтения.

loop.remove_reader()

Прекращение наблюдения за файловым дескриптором на предмет доступности чтения.

loop.add_writer()

Начните следить за файловым дескриптором на предмет доступности записи.

loop.remove_writer()

Прекратите следить за файловым дескриптором на предмет доступности записи.

Сигналы Unix

loop.add_signal_handler()

Добавьте обработчик для signal.

loop.remove_signal_handler()

Удалите обработчик для signal.

Подпроцессы

loop.subprocess_exec()

Создать подпроцесс.

loop.subprocess_shell()

Создание подпроцесса из команды оболочки.

Обработка ошибок

loop.call_exception_handler()

Вызовите обработчик исключений.

loop.set_exception_handler()

Установите новый обработчик исключений.

loop.get_exception_handler()

Получение текущего обработчика исключений.

loop.default_exception_handler()

Реализация обработчика исключений по умолчанию.

Примеры

Перевозки

Все транспорты реализуют следующие методы:

transport.close()

Закройте транспорт.

transport.is_closing()

Возвращает True, если транспорт закрывается или закрыт.

transport.get_extra_info()

Запрос информации о транспорте.

transport.set_protocol()

Установите новый протокол.

transport.get_protocol()

Возвращает текущий протокол.

Транспорты, которые могут принимать данные (TCP и Unix-соединения, трубы и т.д.). Возвращается из методов типа loop.create_connection(), loop.create_unix_connection(), loop.connect_read_pipe() и т. д:

Читать Транспортировка

transport.is_reading()

Возвращает True, если транспорт принимает.

transport.pause_reading()

Получение паузы.

transport.resume_reading()

Получение резюме.

Транспорты, которые могут отправлять данные (TCP и Unix-соединения, трубы и т.д.). Возвращается из методов типа loop.create_connection(), loop.create_unix_connection(), loop.connect_write_pipe() и т. д:

Пишите транспорты

transport.write()

Запись данных на транспорт.

transport.writelines()

Запись буферов на транспорт.

transport.can_write_eof()

Возвращает True, если транспорт поддерживает отправку EOF.

transport.write_eof()

Закрытие и отправка EOF после очистки буферизованных данных.

transport.abort()

Немедленно закройте транспорт.

transport.get_write_buffer_size()

Возвращает текущий размер выходного буфера.

transport.get_write_buffer_limits()

Верните отметки высокой и низкой воды для контроля расхода воды.

transport.set_write_buffer_limits()

Установите новые отметки высокой и низкой воды для контроля над расходом воды.

Транспорты, возвращенные loop.create_datagram_endpoint():

Датаграммные транспорты

transport.sendto()

Отправка данных удаленному аналогу.

transport.abort()

Немедленно закройте транспорт.

Низкоуровневая транспортная абстракция над подпроцессами. Возвращается loop.subprocess_exec() и loop.subprocess_shell():

Транспортировка подпроцессов

transport.get_pid()

Возвращает идентификатор процесса подпроцесса.

transport.get_pipe_transport()

Возвращает транспорт для запрошенной коммуникационной трубы (stdin, stdout или stderr).

transport.get_returncode()

Возвращает код возврата подпроцесса.

transport.kill()

Убейте подпроцесс.

transport.send_signal()

Отправьте сигнал подпроцессу.

transport.terminate()

Остановите подпроцесс.

transport.close()

Убейте подпроцесс и закройте все трубы.

Протоколы

Классы протоколов могут реализовывать следующие методы обратного вызова:

callback connection_made()

Вызывается при установлении соединения.

callback connection_lost()

Вызывается при потере или закрытии соединения.

callback pause_writing()

Вызывается, когда буфер транспорта переходит отметку высокой воды.

callback resume_writing()

Вызывается, когда буфер транспорта опускается ниже отметки низкого уровня воды.

Протоколы потоковой передачи (TCP, Unix Sockets, Pipes)

callback data_received()

Вызывается при получении некоторых данных.

callback eof_received()

Вызывается при получении EOF.

Протоколы буферизованной потоковой передачи

callback get_buffer()

Вызывается для выделения нового буфера приема.

callback buffer_updated()

Вызывается, когда буфер был обновлен полученными данными.

callback eof_received()

Вызывается при получении EOF.

Протоколы датаграмм

callback datagram_received()

Вызывается при получении дейтаграммы.

callback error_received()

Вызывается, когда предыдущая операция отправки или получения вызывает ошибку OSError.

Протоколы подпроцессов

callback pipe_data_received()

Вызывается, когда дочерний процесс записывает данные в свою трубу stdout или stderr.

callback pipe_connection_lost()

Вызывается, когда один из каналов, связывающих с дочерним процессом, закрывается.

callback process_exited()

Вызывается при завершении дочернего процесса. Может вызываться перед методами pipe_data_received() и pipe_connection_lost().

Политика циклов событий

Политики - это низкоуровневый механизм для изменения поведения функций типа asyncio.get_event_loop(). Более подробную информацию см. также в основной части policies section.

Доступ к политикам

asyncio.get_event_loop_policy()

Верните текущую политику всего процесса.

asyncio.set_event_loop_policy()

Установите новую политику в рамках всего процесса.

AbstractEventLoopPolicy

Базовый класс для объектов политики.