Requests: async и ждать

Созданный на 3 окт. 2015  ·  1Комментарий  ·  Источник: psf/requests

Python 3.5 представил сопрограммы с синтаксисом async и await. Подробности об этом можно прочитать в PEP 492 .

Есть ли планы поддержать это? Из-за задержек в сети или медленных подключений имеет смысл делать асинхронные HTTP-запросы.

Самый полезный комментарий

@screendriver В настоящее время нет планов по поддержке async и await. Это не потому, что это плохая идея: это так. Это потому, что для их использования требуются довольно существенные изменения кода.

В настоящий момент запросы - это чисто синхронная библиотека, которая в нижней части своего стека использует httplib для отправки и получения данных. Мы не можем перейти к асинхронной модели, если не заменим httplib. Лучшее, что мы могли сделать, - это предоставить сокращение для выполнения запроса в потоке, но asyncio уже имеет такое сокращение, поэтому я не думаю, что это будет полезно.

Прямо сейчас я спокойно смотрю, можем ли мы переписать запросы, чтобы они работали так же хорошо в синхронной среде, как и в асинхронной. Однако реальность такова, что это потребует много работы, включая переписывание большого количества нашего стека, и может не произойти в течение многих лет, если вообще когда-либо.

>Все замечания

@screendriver В настоящее время нет планов по поддержке async и await. Это не потому, что это плохая идея: это так. Это потому, что для их использования требуются довольно существенные изменения кода.

В настоящий момент запросы - это чисто синхронная библиотека, которая в нижней части своего стека использует httplib для отправки и получения данных. Мы не можем перейти к асинхронной модели, если не заменим httplib. Лучшее, что мы могли сделать, - это предоставить сокращение для выполнения запроса в потоке, но asyncio уже имеет такое сокращение, поэтому я не думаю, что это будет полезно.

Прямо сейчас я спокойно смотрю, можем ли мы переписать запросы, чтобы они работали так же хорошо в синхронной среде, как и в асинхронной. Однако реальность такова, что это потребует много работы, включая переписывание большого количества нашего стека, и может не произойти в течение многих лет, если вообще когда-либо.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги