• Domingo 22 de Diciembre de 2024, 14:31

Autor Tema:  subproceso  (Leído 1611 veces)

ososo86

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
subproceso
« en: Viernes 19 de Noviembre de 2010, 14:21 »
0
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... :comp:

Código: Python
  1.  
  2. ftp_origen = "/home/usuario/Videos/xxx.mpg"
  3. ftp_destino = "video.mpg"
  4. f_origen = open(ftp_origen, 'rb')
  5. ftp.cwd("/public_html")
  6. print "Transfiriendo video: " + ftp_origen + " como " + ftp_destino
  7. p = subprocess.Popen(ftp.storbinary('STOR ' + ftp_destino, f_origen), stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdid=subprocess.PIPE)
  8. tiempo_inicio = time.time()
  9. seg_pasados = 0
  10. while True:
  11.     print "ciclo while"
  12.     if p.poll() is not None:
  13.         break
  14.     seg_pasados = time.time() - tiempo_inicio
  15.     if seg_pasados > 20:
  16.         p.kill()
  17.         time.sleep(0.5)
  18. f_origen.close()
  19. ftp.quit()
  20.  
  21.  

 :hitcomp:

... 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

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
El pasado son solo recuerdos, el futuro son solo sueños