42 lines
971 B
Python
42 lines
971 B
Python
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="*",
|
||
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=19,
|
||
minute=0,
|
||
id="push_gzh",
|
||
replace_existing=True,
|
||
max_instances=1,
|
||
coalesce=True,
|
||
)
|
||
logger.info("已添加任务:push_gzh(每天 08:00 执行)")
|
||
|
||
scheduler.start()
|
||
logger.info("调度器启动完成")
|
||
|
||
return scheduler
|