Django-gunicorn-应用程序级别变量(在工作人员之间共享)
所以我有一个玩具django+gunicorn项目。 我希望有一个统计模型,它非常大,只加载到内存中一次,然后在worker/线程中重用它 如何/在何处定义应用程序级别变量? 我试着把它放在settings.py上,也放在wsgi.py上,我认为你不能(也不应该)。工作进程是在运行任何代码之前分叉的独立进程 您可以将“模型”(是什么使它变大?)放在Redis DB中,然后在每个工作人员中访问它。最好的选择可能是创建一个单独的服务,运行一个实例,并通过HTTP或RPC与您的工作人员进行通信(查看一个简单的(微型)服务框架)Django-gunicorn-应用程序级别变量(在工作人员之间共享),django,variables,global,worker,Django,Variables,Global,Worker,所以我有一个玩具django+gunicorn项目。 我希望有一个统计模型,它非常大,只加载到内存中一次,然后在worker/线程中重用它 如何/在何处定义应用程序级别变量? 我试着把它放在settings.py上,也放在wsgi.py上,我认为你不能(也不应该)。工作进程是在运行任何代码之前分叉的独立进程 您可以将“模型”(是什么使它变大?)放在Redis DB中,然后在每个工作人员中访问它。最好的选择可能是创建一个单独的服务,运行一个实例,并通过HTTP或RPC与您的工作人员进行通信(查看一
另一种选择是使用单个芹菜工作者,并在任务中进行统计计算。那么当您尝试这样做时发生了什么?可以通过所有应用程序访问该变量,但每个工作者只有一个变量,而不是一个实例(单例)。有任何提示吗?