scheduler: auto fetch+score every 60min, integrated into web and CLI

This commit is contained in:
jackyu66git
2026-06-24 18:35:47 +08:00
parent efb721b39f
commit 7e19c9858e
3 changed files with 158 additions and 1 deletions
+19 -1
View File
@@ -5,6 +5,7 @@ cli.py — Command-line interface for ChanMacro.
import argparse
import json
import logging
import time
from datetime import date as Date, datetime, timedelta
logging.basicConfig(
@@ -331,6 +332,8 @@ def main():
# validate
p_validate = sub.add_parser("validate", help="Run validation framework")
# cron
p_cron = sub.add_parser("cron", help="Run scheduled fetch+score loop")
# serve
p_serve = sub.add_parser("serve", help="Start web dashboard")
@@ -353,7 +356,22 @@ def main():
report = ValidationReporter().run_all()
print(report)
elif args.command == "serve":
logger.info("Web dashboard not yet implemented (Phase 7)")
from scheduler import get_scheduler
get_scheduler().start()
logger.info("启动 Web Dashboard: http://127.0.0.1:8124")
from web.app import app
app.run(host="0.0.0.0", port=8124, debug=False)
elif args.command == "cron":
from scheduler import get_scheduler
logger.info("启动后台调度器 (Ctrl+C 停止)")
s = get_scheduler()
s.start()
try:
while True:
time.sleep(60)
except KeyboardInterrupt:
s.stop()
logger.info("调度器已停止")
else:
parser.print_help()