我想运行 APScheduler,它是 WSGI 的一部分(通过 Apache 的 modwsgi 和 3 个工作人员)webapp。我是 WSGI 世界的新手,因此如果您能解决我的疑问,我将不胜感激:
如果 APScheduler 是 webapp 的一部分 - 它会在至少由一个 worker 运行的第一次请求(第一次在启动/重置 Apache 之后)后生效?启动/重置 Apache 不会启动它 - 至少需要一个请求。
并发请求如何 - 每个工作人员是否运行同一组 APScheduler 任务,或者所有工作人员只共享一组?
一旦运行的进程(通过 worker 运行的 webapp)是否会保持事件状态(因此 APScheduler 的任务将执行)或者它可能会在空闲时间后终止(因此 APScheduler 的任务将不会执行)?
谢谢!
最佳答案
你是对的——调度器在第一个请求到来之前不会启动。 因此在 WSGI worker 中运行调度程序不是一个好主意。更好的想法是在单独的进程中运行调度程序,并在必要时通过某些 RPC 机制(如 RPyC 或 Execnet)连接到调度程序。
关于python:WSGI 应用程序中的 APScheduler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33145523/