Bueno, primero que nada estoy aprendiendo Python y mis primeras impresiones han sido satisfactorias... necesito saber si me pueden ayudar en algo, les comento mas menos como llevo esto... la idea es la siguiente, necesito saber como se puede detectar si en x segundos un proceso ftp enviado mediante ftplib, ha dejado de enviar paketes, para asi poder matar el proceso.
le plasmo mi código despues de hacer la conexion a ftp exitosa...
ftp_origen = "/home/usuario/Videos/xxx.mpg"
ftp_destino = "video.mpg"
f_origen = open(ftp_origen, 'rb')
ftp.cwd("/public_html")
print "Transfiriendo video: " + ftp_origen + " como " + ftp_destino
p = subprocess.Popen(ftp.storbinary('STOR ' + ftp_destino, f_origen), stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdid=subprocess.PIPE)
tiempo_inicio = time.time()
seg_pasados = 0
while True:
print "ciclo while"
if p.poll() is not None:
break
seg_pasados = time.time() - tiempo_inicio
if seg_pasados > 20:
p.kill()
time.sleep(0.5)
f_origen.close()
ftp.quit()
... con el código que tengo hasta ahora funciona el envio del ftp y cuando termina pasa al siclo WHILE, pero mi idea que ese envio se ejecute en segundo plano para yo poder detectar si por cualquier motivo el envio falla.... entonces ¿Como lo puedo hacer?
De antemano muchas gracias