import logging from apscheduler.schedulers.asyncio import AsyncIOScheduler from tasks.water_ammeter import SD logger = logging.getLogger("scheduler") sd = SD() def start_scheduler(): logger.info("初始化 AsyncIOScheduler(Asia/Shanghai)") scheduler = AsyncIOScheduler(timezone="Asia/Shanghai") scheduler.add_job( sd.fetch_and_save, trigger="cron", minute="0", id="water_ammeter_job", replace_existing=True, max_instances=1, coalesce=True, ) logger.info("已添加任务:water_ammeter_job(每小时整点执行)") scheduler.add_job( sd.push, trigger="cron", hour=8, minute=30, id="push_gzh", replace_existing=True, max_instances=1, coalesce=True, ) logger.info("已添加任务:push_gzh(每天 08:00 执行)") scheduler.start() logger.info("调度器启动完成") return scheduler