启动uwsgi时执行一次任务

我在我的生产系统中使用Debian 8上的uwsgi-emperor。 对于特定的Django项目,我需要在启动封套时只执行一次计算密集型设置任务。 该封臣可以拥有多个工作者/线程,但是该任务只能执行一次,无论产生了多少工作者/线程。

目前,每次新员工启动时,我都会执行此设置任务,但这显然不是最理想的。 设置任务是从同一个Django项目调用方法,但我认为这不会改变问题。

有没有办法从uWSGI做到这一点?


您可以尝试使用singletone方法,settings.py中的此代码只会调用一次startup_only_once()函数:

from tendo.singleton import SingleInstance


def startup_only_once():
    print("One time only")


try:
    FIRST_START = SingleInstance()
    startup_only_once()
except:
    pass
链接地址: http://www.djcxy.com/p/65945.html

上一篇: Execute task once when starting uwsgi

下一篇: Separate vassal logging with uWSGI emperor mode