单个作业存储、单个启动的调度程序和多个只读工作进程

Single job store, single started scheduler and multiple read-only worker processes

我 运行 进入此常见问题解答,指出在两个或多个进程之间共享持久作业存储将导致不正确的调度程序行为:

How do I share a single job store among one or more worker processes?

My question is:如果只有一个worker scheduler通过.start()启动,另一个scheduler进程在同一个持久化sqlite jobstore上初始化,只打印某个job_id(不会调用 .start()),这会导致不正确的调度程序行为吗?

使用apscheduler 3.6.3

是的。首先,必须启动调度程序才能 return 您获得永久存储的作业列表。另一个潜在的问题是当前的 APScheduler 版本会删除检索时找不到相应任务函数的所有作业。最初添加此行为是为了清除过时的作业,但回想起来构思不当,将在 v4.0 中删除。

从好的方面来说,可以在暂停模式下启动调度程序,因此它不会尝试 运行 任何作业,但仍会为您提供作业列表,只要所有目标函数是可进口的。