gpt4 book ai didi

python - apscheduler - 多个实例

转载 作者:太空宇宙 更新时间:2023-11-04 06:03:22 25 4
gpt4 key购买 nike

我在 django 中运行了 apscheduler,它似乎可以正常工作……好吧。在我的项目 init.py 中,我初始化了调度程序:

scheduler = Scheduler(daemon=True)

print("\n\n\n\n\n\n\n\nstarting scheduler")

scheduler.configure({'apscheduler.jobstores.file.class': settings.APSCHEDULER['jobstores.file.class']})
scheduler.start()

atexit.register(lambda: scheduler.shutdown(wait=False))

第一个问题是打印显示这段代码被执行了两次。其次,在其他应用程序中,我想引用调度程序,但不知道如何去做。如果我获得另一个调度程序实例,我相信它是一个单独的线程池,而不是此处创建的线程池。

  1. 如何让 apscheduler 的一个且唯一的一个实例运行?
  2. 如何在其他应用中引用该实例?

最佳答案

  1. 这首先取决于您如何最终得到两个调度程序实例。您是在工作线程/进程中启动 apscheduler 吗?如果您有多个这样的工作人员,您将获得多个调度程序实例。因此,您必须找到一种方法来防止调度程序多次启动,方法是尽可能在不同的进程中运行它,或者为调度程序启动添加一些条件。

  2. 你不知道。变量对于每个进程都是本地的。您能做的最好的事情就是构建某种远程执行系统,要么使用某种 ReST 服务,要么使用某种远程控制系统,例如 execnet 或 rpyc。

关于python - apscheduler - 多个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23507921/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com