diff --git a/module/instance_watcher.py b/module/instance_watcher.py index b7c0fed8c..5f1aed930 100644 --- a/module/instance_watcher.py +++ b/module/instance_watcher.py @@ -1,3 +1,4 @@ +import datetime import threading import time from dataclasses import dataclass @@ -22,6 +23,8 @@ class InstanceWatcher: def __init__(self): self.watcher: threading.Thread = None self.instances: Dict[str, InstanceSetting] = dict() + self.rest_delta = datetime.timedelta(hours=24) + self.reset_time = datetime.datetime.now() + self.rest_delta def start(self): if self.watcher is not None: @@ -30,6 +33,13 @@ class InstanceWatcher: self.watcher = threading.Thread(target=self.watcher_thread, daemon=True) self.watcher.start() + def check_counter(self): + now = datetime.datetime.now() + if now > self.reset_time: + for instance in self.instances.values(): + instance.counter.reset() + self.reset_time = now + self.rest_delta + def check_instances(self): ins_has_triggered = [] for name, setting in self.instances.items(): @@ -79,6 +89,7 @@ class InstanceWatcher: while 1: time.sleep(60) try: + self.check_counter() self.check_instances() except Exception: ...