1
0
mirror of https://github.com/0O0o0oOoO00/Alas.git synced 2026-05-20 09:19:29 +08:00

add: clear instance restart counter every 24 hours

This commit is contained in:
0O0o0oOoO00
2025-10-04 15:12:40 +08:00
parent 04c43fbc09
commit a3bfaa311d

View File

@@ -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:
...