Індекс API низького рівня

На цій сторінці перераховано всі асинхронні API низького рівня.

Отримання циклу подій

asyncio.get_running_loop()

Переважна функція для отримання запущеного циклу подій.

asyncio.get_event_loop()

Get an event loop instance (running or current via the current policy).

asyncio.set_event_loop()

Установіть цикл подій як поточний за допомогою поточної політики.

asyncio.new_event_loop()

Створіть новий цикл подій.

Приклади

Методи циклу подій

See also the main documentation section about the Методи циклу подій.

Життєвий цикл

loop.run_until_complete()

Запустіть Future/Task/waitable до завершення.

loop.run_forever()

Запустити цикл подій назавжди.

loop.stop()

Зупиніть цикл подій.

loop.close()

Закрийте цикл подій.

loop.is_running()

Повертає True, якщо запущено цикл подій.

loop.is_closed()

Повертає True, якщо цикл події закрито.

чекати 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()

Викликати зворотний виклик у вказаний час.

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

чекати loop.run_in_executor()

Запустіть пов’язану з ЦП функцію або іншу функцію блокування у виконавці concurrent.futures.

loop.set_default_executor()

Встановити виконавця за замовчуванням для loop.run_in_executor().

Завдання та майбутнє

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

чекати loop.getaddrinfo()

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

чекати loop.getnameinfo()

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

Мережа та IPC

чекати loop.create_connection()

Відкрийте TCP-з’єднання.

чекати loop.create_server()

Створіть сервер TCP.

чекати loop.create_unix_connection()

Відкрийте підключення сокета Unix.

чекати loop.create_unix_server()

Створіть сокет-сервер Unix.

чекати loop.connect_accepted_socket()

Оберніть socket в пару (транспорт, протокол).

чекати loop.create_datagram_endpoint()

Відкрийте з’єднання дейтаграми (UDP).

чекати loop.sendfile()

Надіслати файл через транспорт.

чекати loop.start_tls()

Оновіть наявне підключення до TLS.

чекати loop.connect_read_pipe()

Оберніть зчитований кінець каналу в пару (транспорт, протокол).

чекати loop.connect_write_pipe()

Оберніть кінець каналу для запису в пару (транспорт, протокол).

Сокети

чекати loop.sock_recv()

Отримувати дані з socket.

чекати loop.sock_recv_into()

Отримувати дані з socket в буфер.

await loop.sock_recvfrom()

Receive a datagram from the socket.

await loop.sock_recvfrom_into()

Receive a datagram from the socket into a buffer.

чекати loop.sock_sendall()

Надсилайте дані до socket.

await loop.sock_sendto()

Send a datagram via the socket to the given address.

чекати loop.sock_connect()

Підключіть socket.

чекати loop.sock_accept()

Прийміть підключення socket.

чекати 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()

Return the current size of the output buffer.

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

Закрийте підпроцес і закрийте всі канали.

Протоколи

Класи протоколів можуть реалізовувати такі методи зворотного виклику:

зворотний виклик connection_made()

Викликається, коли встановлено з’єднання.

зворотний виклик connection_lost()

Викликається, коли з’єднання втрачено або закрито.

зворотний виклик pause_writing()

Викликається, коли транспортний буфер перевищує позначку високої води.

зворотний виклик resume_writing()

Викликається, коли буфер транспорту стікає нижче позначки низького рівня води.

Протоколи потокової передачі (TCP, Unix-сокети, канали)

зворотний виклик data_received()

Викликається при отриманні деяких даних.

зворотний виклик eof_received()

Викликається, коли отримано EOF.

Буферизовані потокові протоколи

зворотний виклик get_buffer()

Викликається для виділення нового буфера отримання.

зворотний виклик buffer_updated()

Викликається, коли буфер оновлюється отриманими даними.

зворотний виклик eof_received()

Викликається, коли отримано EOF.

Протоколи дейтаграм

зворотний виклик datagram_received()

Викликається, коли отримано дейтаграму.

зворотний виклик error_received()

Викликається, коли попередня операція надсилання чи отримання викликає OSError.

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

callback pipe_data_received()

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

callback pipe_connection_lost()

Викликається, коли одна з труб, що спілкуються з дочірнім процесом, закрита.

зворотний виклик process_exited()

Called when the child process has exited. It can be called before pipe_data_received() and pipe_connection_lost() methods.

Політики циклу подій

Політики — це механізм низького рівня для зміни поведінки таких функцій, як asyncio.get_event_loop(). Перегляньте також основний розділ правил для отримання додаткової інформації.

Доступ до політик

asyncio.get_event_loop_policy()

Повернути поточну політику для всього процесу.

asyncio.set_event_loop_policy()

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

AbstractEventLoopPolicy

Базовий клас для об’єктів політики.