解决方案"/>
PytzUsageWarning: The normalize method is no longer necessary 的解决方案
python在使用时任务apscheduler会报出这个警告,是因为遇到了时区的问题,原代码如下:
from apscheduler.schedulers.background import BackgroundScheduler
from apps.logs import getLogger
from apps.config import BUSINESS_DICT
from .rsync_job import rsync_bkalert_job_log = getLogger(__name__)
# 创建对象
_scheduler = BackgroundScheduler()
_scheduler._logger = _logdef test_job(id, name):_log.info("starting %s-%s" % (id, name))def _task_id(id):return "scheduler_%s" % idfor id, name in BUSINESS_DICT.items():_scheduler.add_job(rsync_bkalert_job, "interval", args=[id, name], seconds=60, id=_task_id(id), max_instances=1)def remove_task(id):job = _scheduler.get_job(_task_id(id))if job:_scheduler.remove_job(_task_id(id))_scheduler.start()
其实我们只需要在创建对象时手动修改时区就好了
_scheduler = BackgroundScheduler(timezone="Asia/Shanghai")
完美解决!
更多推荐
PytzUsageWarning: The normalize method is no longer necessary 的解决方案
发布评论