【发布时间】:2018-09-06 11:15:53
【问题描述】:
我正在使用 celery 加载神经网络模型,并希望将加载的模型存储在设置中以进行快速预测。
所以在django.conf.settings 我有:
MODELS = {}
在 celery 任务中,我有以下 sn-p:
@app.task
def load_nn_models(model_name):
from django.conf import settings
...
settings.MODELS[model_name] = {'model': net, 'graph': sess}
但是,我注意到任务正在另一个线程中运行,该线程启动了不同的 Django 环境,并且设置中的任何更改都不会反映回主线程。
有解决办法吗?
编辑
我在设置中存储的参数是:
【问题讨论】:
-
@BearBrown 我认为它不会起作用,因为当 django 启动时,它会将设置读入字典并将该字典上的更改保留在文件中。因此,如果 main django 更改了某些内容,则异步任务将无法获取它。
-
我添加一个例子
标签: python django celery django-celery