我想运行APScheduler,这是WSGI的一部分(通过Apache的modwsgi和3名工作人员)webapp。我是WSGI世界的新手,所以如果你能解决我的疑惑,我将不胜感激:
如果APScheduler是webapp的一部分 - 它在第一个请求(首先是在启动/重置Apache之后)之后变得活着,它至少由一个工作者运行?启动/重置Apache将无法启动它 - 至少需要一个请求。
并发请求怎么样 - 每个工作人员都会运行同一组APScheduler的任务,或者所有工人之间只有一套共享?
一旦运行进程(通过worker运行的webapp)保持活动(因此APScheduler的任务将执行)或者它可能在一些空闲时间后终止(因此 - APScheduler的任务将不会执行)?
谢谢!
答案 0 :(得分:2)
你是对的 - 调度程序在第一个请求进入之前不会启动。 因此,在WSGI工作程序中运行调度程序并不是一个好主意。更好的想法是在一个单独的进程中运行调度程序,并在必要时通过某些RPC机制(如RPyC或Execnet)连接到调度程序。