Executar uma função a cada X minutos - Python
Eu estou usando Python e PyGTK. Estou interessado em executar uma determinada função, que obtém dados de uma porta serial e os salva a cada vários minutos.
Atualmente, estou usando a função sleep () na biblioteca de tempo. Para poder fazer o processamento, tenho meu sistema configurado assim:
<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>
Essa configuração permite que eu tenha intervalos de 5 minutos entre a leitura de dados da porta serial. Meu problema é que eu gostaria de ter a minha função readserial () pausar o que está acontecendo a cada 5 minutos e ser capaz de fazer as coisas o tempo todo, em vez de usar a função time.sleep ().
Alguma sugestão sobre como resolver este problema? Multithreading? Interrompe Por favor, tenha em mente que eu estou usando python.
Obrigado.