tiempos de espera
Pedro A. Carrasco Ponce
pedro.carrasco en iver.es
Mar Jul 20 08:40:46 CEST 2004
Pepe Aracil escribió:
> Hola a todos.
>
> Me han encargado el diseño de una centralita receptora de alarmas, y sin
> dudarlo he elegido python para currarme el soft :D.
>
> basicamente se trata de unos 10 modems con capacidad para generar DTMF,
> conectados a 10 puertos serie. El programa, lo unico que tiene que hacer
> es esperar a que le entre una llamada (esperar la cadena RING del modem)
> y mediante tonos dtmf comunicarse con la alarma, extraer los estados y
> registrarlos en una DB.
>
> Preguntas:
>
> ¿los threads son threads de verdad o los simula el interprete?
> lo pregunto porque me suena haber oido algo de que són simulados.
Según tengo entendido, en plataformas que soportan hilos, python ofrece
hilos, por ejemplo en win32 y Linux.
> ¿Utilizo un proceso con un thread por cada puerto ó lanzo un interprete
> de python por cada puerto?
> lo digo, porque si muere un proceso, solo "cae" su linea telefónica
> asociada, pero no todas.
Para este tipo de aplicación, la segunda opción da más seguridad, además
si pones un programa que haga de vigilante para comprobar que los
procesos están arriba, pues mejor.
> ¿Que hago en los tiempos muertos en que un proceso/thread esta esperando
> la llamada entrante, un time.sleep() entre los polling del puerto ó una
> lectura bloqueante al puerto?
> ¿Si hago lecturas bloqueantes, será sentible el programa a los mensajes
> externos o se quedara pseudo-colgado ?
Si lo hace un hilo aparte no bloquea el programa.
> Gracias.
A mandar
--
Pedro
Más información sobre la lista de distribución Python-es