Spec-Zone.ru › Python 3.10

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

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

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

asyncio.get_running_loop()

Функция по умолчанию для получения работающего цикла событий.

asyncio.get_event_loop()

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

asyncio.set_event_loop()

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

asyncio.new_event_loop()

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

Примеры

  • Использование asyncio.get_running_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().

Задачи и Future

loop.create_future()

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

loop.create_task()

Запуск корутины в виде 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).

Сокеты

END_OF_DOCUMENT_MARKER

await loop.sock_recv()

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

await loop.sock_recv_into()

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

await loop.sock_sendall()

Отправка данных в 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()

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

Примеры

  • Использование asyncio.get_event_loop() и loop.run_forever().
  • Использование loop.call_later().
  • Использование loop.create_connection() для реализации клиента эха.
  • Использование loop.create_connection() для подключения сокета.
  • Использование add_reader() для наблюдения за FD на события чтения.
  • Использование loop.add_signal_handler().
  • Использование loop.subprocess_exec().

Транспортные средства

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

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()

Убить подпроцесс и закрыть все каналы.

END_OF_DOCUMENT_MARKER

Протоколы

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

callback connection_made()

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

callback connection_lost()

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

callback pause_writing()

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

callback resume_writing()

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

Потоковые протоколы (TCP, сокеты Unix, каналы)

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()

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

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

Политики — это механизм низкого уровня, позволяющий изменять поведение функций, таких как asyncio.get_event_loop(). Подробнее см. основную часть о политиках.

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

asyncio.get_event_loop_policy()

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

asyncio.set_event_loop_policy()

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

AbstractEventLoopPolicy

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

© 2001–2023 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.10/library/asyncio-llapi-index.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API