import threading class Scheduler: def __init__(self, interval, function): self.interval = interval self.function = function self.stop_event = threading.Event() def run(self): while not self.stop_event.wait(self.interval): self.function() def stop(self): self.stop_event.set() class ThreadManager: def __init__(self, target, args: tuple = ()) -> None: self.target = target self.args = args def run(self): thread = threading.Thread(target=self.target, args=self.args) thread.daemon = True thread.start()