Requests: async et attendre

Créé le 3 oct. 2015  ·  1Commentaire  ·  Source: psf/requests

Python 3.5 a introduit des coroutines avec une syntaxe async et wait. Les spécifications à ce sujet peuvent être lues dans PEP 492 .

Y a-t-il des plans pour soutenir cela? En raison des retards du réseau ou des connexions lentes, il serait judicieux de faire des requêtes http asynchrones.

Commentaire le plus utile

@screendriver À l'heure actuelle, il n'est pas prévu de prendre en charge l'async et l'attente. Ce n'est pas parce qu'ils ne sont pas une bonne idée : ils le sont. C'est parce que leur utilisation nécessite des changements de code assez importants.

À l'heure actuelle, les requêtes sont une bibliothèque purement synchrone qui, au bas de sa pile, utilise httplib pour envoyer et recevoir des données. Nous ne pouvons pas passer à un modèle asynchrone à moins de remplacer httplib. Le mieux que nous puissions faire est de fournir un raccourci pour exécuter une requête dans un thread, mais asyncio a déjà un tel raccourci, donc je ne pense pas que ce serait utile.

En ce moment, je regarde tranquillement si nous pouvons réécrire les requêtes pour fonctionner aussi bien dans un environnement synchrone que dans un environnement asynchrone. Cependant, la réalité est que cela représentera beaucoup de travail, impliquant la réécriture d'une grande partie de notre pile, et peut ne pas se produire avant de nombreuses années, voire jamais.

>Tous les commentaires

@screendriver À l'heure actuelle, il n'est pas prévu de prendre en charge l'async et l'attente. Ce n'est pas parce qu'ils ne sont pas une bonne idée : ils le sont. C'est parce que leur utilisation nécessite des changements de code assez importants.

À l'heure actuelle, les requêtes sont une bibliothèque purement synchrone qui, au bas de sa pile, utilise httplib pour envoyer et recevoir des données. Nous ne pouvons pas passer à un modèle asynchrone à moins de remplacer httplib. Le mieux que nous puissions faire est de fournir un raccourci pour exécuter une requête dans un thread, mais asyncio a déjà un tel raccourci, donc je ne pense pas que ce serait utile.

En ce moment, je regarde tranquillement si nous pouvons réécrire les requêtes pour fonctionner aussi bien dans un environnement synchrone que dans un environnement asynchrone. Cependant, la réalité est que cela représentera beaucoup de travail, impliquant la réécriture d'une grande partie de notre pile, et peut ne pas se produire avant de nombreuses années, voire jamais.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

jake491 picture jake491  ·  3Commentaires

eromoe picture eromoe  ·  3Commentaires

xsren picture xsren  ·  3Commentaires

JimHokanson picture JimHokanson  ·  3Commentaires

avinassh picture avinassh  ·  4Commentaires