2015-03-16 2 views
0

En supposant que je puisse vérifier qu'un groupe de demandes POST est en fait logiquement indépendant, comment puis-je configurer le pipeline HTTP en utilisant python-requests et le forcer à autoriser les requêtes POST dans le pipeline?Pipelining des requêtes POST avec des requêtes python

Est-ce que quelqu'un a un exemple de travail?

post-scriptum pour des points supplémentaires, comment gérer les erreurs pour les demandes en suspens si le pipeline se brise soudainement?

P.P.S. grequests n'est pas une option dans ce cas.

+1

Pouvez-vous préciser ce que vous entendez par «pipeline» *? Parlez-vous de [HTTP pipelining] (http://en.wikipedia.org/wiki/HTTP_pipelining) ici? * Pourquoi * "grequests" n'est-il pas une option? –

+0

Notez que 'requests' ne prend pas en charge le pipelining HTTP (https://github.com/kennethreitz/requests/issues/1394); utiliser 'grequests' ne serait qu'une approximation. –

+0

@MartijnPieters oh, mon google-fu m'a échoué ... S'il vous plaît convertir cela en une réponse pour acceptation. –

Répondre

1

La bibliothèque requestsdoes not support HTTP pipelining.

Vous pouvez approximative pipelining en utilisant grequests ce qui le rend plus facile à exécuter plusieurs requêtes en parallèle, mais chaque demande parallèle continue à utiliser une nouvelle connexion TCP.

(requests met en pool les connexions, en maintenant la connexion TCP ouverte si le serveur distant le permet, mais cela aide uniquement les connexions séquentielles, et la requête et la réponse doivent encore alterner).

3

Les requêtes de pipeline peuvent être effectuées avec le httplib intégré, mais uniquement en accédant aux objets de connexion et de réponse sous leur interface publique. This snippet démontre.