[Python-es] HTTP Persistent y Pipelining

Jesus Cea jcea en jcea.es
Mie Feb 1 03:40:05 CET 2012


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

¿Alguien conoce una librería HTTP para python que soporte conexiones
persistentes y "pipelining"?

Me gustaría algo de este estilo:

1. Establecer una conexión con el servidor.
2. Hacer una petición y recibir un objeto para recoger la respuesta.
3. Poder recoger la respuesta, o parte de ella. O no. Es necesario saber
si está entrando una respuesta o no.
4. Hacer una nueva petición. Podemos no haber recibido aún la
respuesta anterior.
5. Para nota: si el servidor desconecta tras la primera petición pero
habiendo peticiones en curso, establecer una conexión nueva y reenviar
las peticiones pendientes de forma transparente. Esto debería ser
configurable, porque puede puedde tratarse de peticiones no idempotentes.

Osea, la idea es poder hacer peticiones por "pipelining" a medida que
veo que las necesito, e ir leyendo las respuestas de forma asíncrona.
Las peticiones y las respuestas van "a su bola", no las voy alternando
necesariamente.

El programa que tengo en mente es algo de este estilo:

1. Establezco una conexión con el servidor.
2. El programa va leyendo de una base de datos y cuando lo ve
necesario, mete una petición nueva al servidor.
3. Si hay alguna respuesta esperando, la lee, tal vez parcialmente.
4. Voy al punto 2.

Las librerías httplib, urllib, etc., soportan conexiones persistentes,
pero no pipelining. Una búsqueda superficial por Internet no me saca
nada relevante.

¿Alguna idea?.

- -- 
Jesus Cea Avion                         _/_/      _/_/_/        _/_/_/
jcea en jcea.es - http://www.jcea.es/     _/_/    _/_/  _/_/    _/_/  _/_/
jabber / xmpp:jcea en jabber.org         _/_/    _/_/          _/_/_/_/_/
.                              _/_/  _/_/    _/_/          _/_/  _/_/
"Things are not so easy"      _/_/  _/_/    _/_/  _/_/    _/_/  _/_/
"My name is Dump, Core Dump"   _/_/_/        _/_/_/      _/_/  _/_/
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQCVAwUBTyimBZlgi5GaxT1NAQLp0AP9FVc6RprzQLd6fMWePhMKZhyI/tgFEGMt
b+iPlVj9Wo4xx+mY9/7Dj3y5n6NHH5XaDzdqEectk8B//LERCmzGuICTsZuz6k3Q
RDAkwu7o2o+IrXiOGocH251FgKLSLnTIOrEWswX2OANKHNNsn7DTfykchVWet8+O
S/JLcCTolBM=
=li55
-----END PGP SIGNATURE-----


Más información sobre la lista de distribución Python-es