2015-05-08 85 views
5

因此,我有一个玩具django + gunicorn项目。 我想有一个统计模型,它只是一次加载到内存中,然后在worker/threads中重用。Django - gunicorn - 应用程序级变量(跨工作人员共享)

如何/在哪里定义应用程序级别变量? 我试着把它放在settings.py上,也是在wsgi.py上

+0

那么当你尝试这个时发生了什么? –

+0

该变量可以通过所有的应用程序加以处理,但每个工作人员有一个变量,而不是一个单一实例(单身人士) 任何提示? –

回答

0

我不认为你可以(也不应该)。在运行任何代码之前,工作人员是分离的进程。

您可以将“模型”(它是什么使它变大?)放在Redis数据库中,然后从每个工作人员那里访问它。最好的选择可能是创建一个单独的服务,其中您运行单个实例,并通过HTTP或RPC与您的工作人员进行通信(查看nameko获得简单(微)服务框架。

另一个选项将使用一个芹菜工作人员,并在一项任务中进行统计计算。