ai提取rss相关数据
This commit is contained in:
@@ -11,17 +11,32 @@ log = CrossPlatformLog.get_logger("Main")
|
||||
|
||||
|
||||
class IntelligenceSystem:
|
||||
def __init__(self, db_config=None):
|
||||
"""初始化系统(仅作为容器,不包含业务逻辑)"""
|
||||
def __init__(self, db_config=None, run_all_on_startup=False):
|
||||
"""初始化系统(仅作为容器,不包含业务逻辑)
|
||||
|
||||
Args:
|
||||
db_config: 数据库配置
|
||||
run_all_on_startup: 启动时是否立即执行所有到期任务(默认False)
|
||||
"""
|
||||
self.scheduler = TaskScheduler(Config.MYSQL_CONFIG, max_workers=5)
|
||||
self._running = False
|
||||
log.info("情报系统已初始化(Cron模式)")
|
||||
self.run_all_on_startup = run_all_on_startup
|
||||
log.info(f"情报系统已初始化(Cron模式),启动时执行任务: {run_all_on_startup}")
|
||||
|
||||
def start(self):
|
||||
"""启动系统主入口"""
|
||||
self._running = True
|
||||
self._setup_signal_handlers()
|
||||
log.info("系统启动 - 运行在Cron调度模式")
|
||||
|
||||
# 启动时执行所有到期任务(如果开关开启)
|
||||
if self.run_all_on_startup:
|
||||
print(f"\n{'='*60}")
|
||||
print("🚀 启动时执行所有到期任务...")
|
||||
print(f"{'='*60}\n")
|
||||
log.info("启动时执行所有到期任务")
|
||||
result = self.scheduler.check_and_run_tasks(print_empty_status=True)
|
||||
print(f"\n启动任务执行完成: 总数={result['总任务数']}, 成功={result['成功']}, 失败={result['失败']}\n")
|
||||
|
||||
# 时间追踪变量
|
||||
last_status_print_time = time.time() # 上次打印状态的时间
|
||||
@@ -110,7 +125,9 @@ class IntelligenceSystem:
|
||||
if __name__ == "__main__":
|
||||
try:
|
||||
# 启动系统 - 仅作为入口,不包含调度逻辑
|
||||
system = IntelligenceSystem()
|
||||
# run_all_on_startup=True: 启动时立即执行所有到期任务
|
||||
# run_all_on_startup=False: 启动时不执行任务,等待下次调度周期
|
||||
system = IntelligenceSystem(run_all_on_startup=False)
|
||||
system.start()
|
||||
except Exception as e:
|
||||
log.critical("情报系统启动失败", exc_info=True)
|
||||
|
||||
Reference in New Issue
Block a user