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:
@@ -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:
|
||||
...
|
||||
|
||||
Reference in New Issue
Block a user