timer.py
1 import time 2 from threading import Thread 3 from typing import Callable 4 5 6 class Timer(Thread): 7 def __init__(self, interval: float, func: Callable): 8 super().__init__() 9 10 self.interval: float = interval 11 self.func: Callable = func 12 self.running: bool = False 13 14 def run(self): 15 self.running: bool = True 16 time.sleep(self.interval) 17 while self.running: 18 self.func() 19 time.sleep(self.interval) 20 21 def stop(self): 22 self.running: bool = False