Leonydis137 commited on
Commit
b96144f
·
verified ·
1 Parent(s): 0bce98a

Upload scheduler.py

Browse files
Files changed (1) hide show
  1. scheduler.py +30 -13
scheduler.py CHANGED
@@ -1,15 +1,32 @@
1
 
2
- import schedule
3
  import time
4
- from agent import run_agent
5
- from logger import logger
6
-
7
- def scheduled_task():
8
- logger.info("Scheduled task running...")
9
- run_agent("Daily self-check")
10
-
11
- def start_scheduler():
12
- schedule.every().day.at("10:00").do(scheduled_task)
13
- while True:
14
- schedule.run_pending()
15
- time.sleep(1)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
 
 
2
  import time
3
+ import threading
4
+
5
+ class TaskScheduler:
6
+ def __init__(self):
7
+ self.tasks = []
8
+ self.running = False
9
+
10
+ def add_task(self, name, func, interval=10):
11
+ task = {"name": name, "func": func, "interval": interval, "last_run": 0}
12
+ self.tasks.append(task)
13
+
14
+ def start(self):
15
+ self.running = True
16
+ threading.Thread(target=self.run_loop, daemon=True).start()
17
+
18
+ def stop(self):
19
+ self.running = False
20
+
21
+ def run_loop(self):
22
+ while self.running:
23
+ now = time.time()
24
+ for task in self.tasks:
25
+ if now - task["last_run"] >= task["interval"]:
26
+ try:
27
+ result = task["func"]()
28
+ print(f"[Scheduler] Ran task '{task['name']}': {result}")
29
+ except Exception as e:
30
+ print(f"[Scheduler Error] {task['name']}: {e}")
31
+ task["last_run"] = now
32
+ time.sleep(1)