main 程序添加启动调度器
This commit is contained in:
39
main.py
39
main.py
@@ -32,22 +32,49 @@ def delete_old_snapshots():
|
||||
|
||||
def main():
|
||||
"""主执行函数"""
|
||||
export_conf = SCHEDULE_EXPORT # 从配置读取导出任务时间
|
||||
delete_conf = SCHEDULE_DELETE # 从配置读取删除任务时间
|
||||
export_conf = SCHEDULE_EXPORT # 从配置读取导出任务时间
|
||||
delete_conf = SCHEDULE_DELETE # 从配置读取删除任务时间
|
||||
|
||||
scheduler = BackgroundScheduler() # 设置定时任务调度器
|
||||
scheduler.start() # 开始调度器
|
||||
scheduler = BackgroundScheduler() # 创建调度器
|
||||
|
||||
logger.info(f"✓ 导出任务已设置: 每周 {export_conf['day_of_week']} {export_conf['hour']:02d}:{export_conf['minute']:02d}") # :02d 数字格式化选项,用于让数字显示为至少2位,不足补零。
|
||||
# 1. 添加导出数据任务
|
||||
scheduler.add_job(export_files, # 要执行的函数
|
||||
'cron', # 触发器类型
|
||||
day_of_week=export_conf['day_of_week'],
|
||||
hour=export_conf['hour'],
|
||||
minute=export_conf['minute'],
|
||||
second=export_conf.get('second', 0),
|
||||
id='export_files', # 任务唯一ID
|
||||
name='导出Excel和YAML' # 任务名称
|
||||
)
|
||||
logger.info(f"✓ 导出任务已设置: 每周 {export_conf['day_of_week']} {export_conf['hour']:02d}:{export_conf['minute']:02d}")
|
||||
|
||||
# 2. 添加删除任务
|
||||
scheduler.add_job(
|
||||
delete_old_snapshots, # 要执行的函数
|
||||
'cron',
|
||||
day_of_week=delete_conf['day_of_week'],
|
||||
hour=delete_conf['hour'],
|
||||
minute=delete_conf['minute'],
|
||||
second=delete_conf.get('second', 0),
|
||||
id='delete_snapshots',
|
||||
name='删除旧快照'
|
||||
)
|
||||
logger.info(f"✓ 删除任务已设置: 每周 {delete_conf['day_of_week']} {delete_conf['hour']:02d}:{delete_conf['minute']:02d}")
|
||||
|
||||
# 启动调度器
|
||||
scheduler.start()
|
||||
logger.info("调度器已启动,等待执行任务...")
|
||||
|
||||
try:
|
||||
# 保持主程序运行,以便调度器能正常工作
|
||||
# 保持主程序运行
|
||||
while True:
|
||||
time.sleep(1)
|
||||
|
||||
except (KeyboardInterrupt, SystemExit):
|
||||
logger.info("正在关闭调度器...")
|
||||
scheduler.shutdown()
|
||||
logger.info("调度器已关闭")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
Reference in New Issue
Block a user