Threads y concurrencia

Jose Gomez-Dans jgomezdans en gmail.com
Jue Ago 2 15:01:00 CEST 2007


Hola

On 8/2/07, Antonio Beamud Montero <antonio.beamud en linkend.net> wrote:
> El jue, 02-08-2007 a las 09:10 +0200, Jose Gomez-Dans escribió:
> > Hola,
> > Tengo un programa que descarga ficheros de un FTP y los procesa. Los
> > ficheros son grandes (cientos de MB, tardan varios minutos en bajar),
> Yo creo que tu problema viene por la conexión de control que se abre
> contra el servidor ftp, si la descarga es muy grande suele dar timeouts,
> ya que durante ese periodo de descarga no recibe información de
> control.

> ¿Que servidor FTP usas? ¿Usas la libreria ftputil de python?

El servidor remoto no sé cuál es (el welcome no da ninguna pista), y
uso ftplib a través de un proxy. La verdad es que ftputil no me sonaba
de nada, y es una pena, porque parece más fácil  :-( Si el problema
fuese de la conexión de control como apuntas, tendría problemas con
otros clientes de FTP, cosa que no pasa. Tal vez podría mandar algún
comando en medio del procesado al servidor remoto para que
desperatase. No sé si ftplib tendría esta funcionalidad... O
sencillamante, capturar la excepción y volverme a conectar (un poco
más elegante, ya que hay límite de usuarios).


> P.D.: Otra idea sería usar un modelo asincrono en vez de por hilos. Mira
> twisted (http://twistedmatrix.com/trac/)

Viendo las clases veo insults y cosas por el estilo... Creo que entre
los propios de twisted y los míos propios intentando entender algo no
podríamos tener menores por aquí en medio.

Sigo pensando en la mejor manera.

Gracias!
J




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