Dav*_*lla 5 django variables global worker
所以我有一个玩具django + gunicorn项目.我想要一个统计模型,这个模型只在内存中加载一次,然后在工作者/线程中重用它.
我如何/在哪里定义应用程序级别变量?我尝试将它放在settings.py上,也放在wsgi.py上
Tin*_*ino 4
我认为你不能(也不应该)。Worker 是独立的进程,在运行您的任何代码之前进行分叉。
您可以将“模型”(是什么使它变大?)放入 Redis DB 中,并从那里在每个工作线程中访问它。最好的选择可能是创建一个单独的服务,您运行一个实例,并通过 HTTP 或 RPC 从您的工作线程进行通信(查看nameko以获得简单的(微)服务框架。
另一种选择是使用单个 Celery Worker,并在任务中进行统计计算。
归档时间:
10 年,9 月 前
查看次数:
908 次
最近记录:
9 年,2 月 前