Ejecutar una función cada X minutos - Python
Estoy usando Python y PyGTK. Estoy interesado en ejecutar una función determinada, que obtiene datos de un puerto serie y los guarda, cada varios minutos.
Actualmente, estoy usando la función sleep () en la biblioteca de tiempos. Para poder hacer el procesamiento, tengo mi sistema configurado de esta manera:
<code>import time waittime = 300 # 5 minutes while(1): time1 = time.time() readserial() # Read data from serial port processing() # Do stuff with serial data, including dumping it to a file time2 = time.time() processingtime = time2 - time1 sleeptime = waittime - processingtime time.sleep(sleeptime) </code>
Esta configuración me permite tener intervalos de 5 minutos entre la lectura de datos desde el puerto serie. Mi problema es que me gustaría poder hacer que mi función de lectura () se detenga cada 5 minutos y pueda hacer cosas todo el tiempo en lugar de usar la función time.sleep ().
¿Alguna sugerencia sobre cómo resolver este problema? Multihilo? Interrupciones? Por favor, tenga en cuenta que estoy usando python.
Gracias.