我正在使用celery运行django应用程序。在我的tasks.py文件中,我遇到了一个奇怪的错误,如下所示:
from __future__ import absolute_import
from celery import shared_task
from django.contrib.auth.models import User
# some code
# ....
这里是错误信息:
django.core.exceptions.ImproperlyConfigured: The SECRET_KEY must not be empty.
在我的 settings.py 中,已经定义了SECRET_KEY。
# ...
import myproj.tasks
import djcelery
djcelery.setup_loader()
# ...
SECRET_KEY = '18730s9n9sjxamsuJSismxOIAmso102xjAs'
# ...
如果我在tasks.py文件中注释掉import
,应用程序就可以正常运行:
# from django.contrib.auth.models import User
更令人惊讶的是,如果我在同一目录下的另一个文件(例如testfile.py)中进行完全相同的导入,它也可以正常运行。
为什么会出现这个错误呢?
编辑:这是我的celery.py文件
from __future__ import absolute_import
import os
from celery import Celery
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'myproj.settings')
from django.conf import settings #noqa
app = Celery('myproj')
app.config_from_object('django.conf:settings')
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
celery -A myproj worker -B -l info
。 - Gabriel Ilharco