45 lines
1.4 KiB
Python
45 lines
1.4 KiB
Python
import schedule
|
|
from sample_cloud_modules import SampleCloudModules
|
|
from log_config import configure_task_logger, configure_error_task_logger
|
|
from utils import load_tasks_on_start, load_tasks_and_execute
|
|
import time
|
|
from datetime import datetime
|
|
|
|
# 获取常规日志记录器
|
|
logger = configure_task_logger()
|
|
|
|
# 获取错误任务日志记录器
|
|
error_task_logger = configure_error_task_logger()
|
|
|
|
|
|
def main():
|
|
try:
|
|
# 在程序启动时加载并执行任务
|
|
load_tasks_on_start()
|
|
logger.info("程序已启动...")
|
|
|
|
# 设置定时任务,从云端获取并保存到 csv 文件
|
|
schedule.every().day.at("01:00").do(SampleCloudModules.fetch_and_save_tasks)
|
|
|
|
# 设置每分钟检查一次是否有新任务需要加载到队列
|
|
schedule.every(1).minutes.do(load_tasks_and_execute)
|
|
|
|
# 主循环,用于持续检查和执行定时任务
|
|
while True:
|
|
schedule.run_pending()
|
|
time.sleep(60)
|
|
# 每秒检查一次
|
|
now = datetime.now()
|
|
if now.hour == 23:
|
|
logger.info("23点,程序结束。")
|
|
break
|
|
except Exception as e:
|
|
error_task_logger.error(f"程序异常: {e}")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
# 测试时候每次从简道云获取任务列表
|
|
SampleCloudModules.fetch_and_save_tasks()
|
|
logger.info("任务列表已保存到 csv 文件中。")
|
|
main()
|