阻塞调度器(apscheduler)在启动前无法获取作业列表
Blocking scheduler(apscheduler) cannot get the job list before starting
我在启动blockingscheduler之前无法获取作业列表,我已经有一个id为
的作业
background_event_publisher
现在当我尝试添加 -
jobstores = {
'default': SQLAlchemyJobStore(url=os.environ.get("SQLALCHEMY_DATABASE_URI", None))
}
scheduler = BlockingScheduler(
daemon=True, jobstores=jobstores, timezone=pytz.utc)
scheduler.get_jobs()
给予
[]
然后
scheduler.add_job(fun, 'cron', hour='09', minute='30',
id='background_event_publisher' , misfire_grace_time=3600)
scheduler.start()
给出错误
apscheduler.jobstores.base.ConflictingIdError: 'Job identifier (background_event_publisher) conflicts with an existing job
不明白为什么在 get_jobs() 仍然存在时却没有得到任何东西。
在调度程序启动之前,它只能看到临时添加的作业。它无法访问作业存储,因为作业存储仅在调度程序初始化期间初始化。如果您只需要检索此类信息而实际上 运行 计划的作业,则应以暂停状态 (scheduler.start(paused=True)
) 启动计划程序。
我在启动blockingscheduler之前无法获取作业列表,我已经有一个id为
的作业background_event_publisher
现在当我尝试添加 -
jobstores = {
'default': SQLAlchemyJobStore(url=os.environ.get("SQLALCHEMY_DATABASE_URI", None))
}
scheduler = BlockingScheduler(
daemon=True, jobstores=jobstores, timezone=pytz.utc)
scheduler.get_jobs()
给予
[]
然后
scheduler.add_job(fun, 'cron', hour='09', minute='30',
id='background_event_publisher' , misfire_grace_time=3600)
scheduler.start()
给出错误
apscheduler.jobstores.base.ConflictingIdError: 'Job identifier (background_event_publisher) conflicts with an existing job
不明白为什么在 get_jobs() 仍然存在时却没有得到任何东西。
在调度程序启动之前,它只能看到临时添加的作业。它无法访问作业存储,因为作业存储仅在调度程序初始化期间初始化。如果您只需要检索此类信息而实际上 运行 计划的作业,则应以暂停状态 (scheduler.start(paused=True)
) 启动计划程序。