阻塞调度器(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)) 启动计划程序。