我在生产系统中使用Debian 8上的uwsgi-emperor。对于特定的Django项目,我只需要在vassal的启动时运行一次计算密集型设置任务。附庸可以有多个工作人员/线程,但无论生成多少工人/线程,任务都必须只执行一次。
目前,我每次启动新工作时都会执行此设置任务,但这显然不是最理想的。设置任务是从同一个Django项目调用方法,但我认为这不会改变问题。
有没有办法从uWSGI做到这一点?
答案 0 :(得分:0)
您可以尝试使用单一方法,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