Uruchom funkcję co X minut - Python
Używam Pythona i PyGTK. Jestem zainteresowany uruchomieniem określonej funkcji, która pobiera dane z portu szeregowego i zapisuje je co kilka minut.
Obecnie używam funkcji sleep () w bibliotece czasu. Aby móc przetwarzać, mam swój system skonfigurowany w ten sposób:
<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>
Ta konfiguracja pozwala mi na 5 minutowe przerwy między odczytem danych z portu szeregowego. Mój problem polega na tym, że chciałbym mieć możliwość zatrzymania mojej funkcji readserial (), niezależnie od tego, co się dzieje co 5 minut, i móc cały czas robić rzeczy, zamiast korzystać z funkcji time.sleep ().
Wszelkie sugestie, jak rozwiązać ten problem? Wielowątkowość? Przerwania? Pamiętaj, że używam Pythona.
Dzięki.