Führen Sie alle X Minuten eine Funktion aus - Python
Ich benutze Python und PyGTK. Ich möchte eine bestimmte Funktion ausführen, die Daten von einer seriellen Schnittstelle abruft und alle paar Minuten speichert.
Derzeit verwende ich die Funktion sleep () in der Zeitbibliothek. Um die Bearbeitung durchführen zu können, habe ich mein System folgendermaßen eingerichtet:
<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>
Dieses Setup ermöglicht mir 5-Minuten-Intervalle zwischen dem Lesen von Daten von der seriellen Schnittstelle. Mein Problem ist, dass ich meine readserial () - Funktion alle 5 Minuten pausieren lassen möchte und die ganze Zeit Dinge tun kann, anstatt die time.sleep () - Funktion zu verwenden.
Irgendwelche Vorschläge zur Lösung dieses Problems? Multithreading? Unterbricht? Bitte denken Sie daran, dass ich Python verwende.
Vielen Dank.