尝试使用以下方法运行芹菜工人时:
celery -A my_app_name worker -l INFO
我得到一个AttributeError: 'Settings' object has no attribute 'worker_state_db'
该应用以前可以正常运行,但是我找不到再次破坏它的提交。
这是一个Django Web应用程序,使用Celery作为Redis数据库的工作程序。
我的(相关)settings.py如下:
...
SECRET_KEY = 'A_VALID_BUT_REDACTED_SECRET_KEY'
REDIS = os.environ.get('REDIS_URL','redis://localhost:6379')
CELERY_BROKER_URL = REDIS
CELERY_BROKER_URL = REDIS
CELERY_RESULT_BACKEND = REDIS
CELERY_ACCEPT_CONTENT = ['json']
CELERY_TASK_SERIALIZER = 'json'
TASK_ALWAYS_EAGER=False
我的celery.py看起来像:
from __future__ import absolute_import, unicode_literals
import os
from celery import Celery
from django.conf import settings
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'my_app_name.settings')
app = Celery('my_app_name')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
最后是我的init.py
:
from __future__ import absolute_import, unicode_literals
from .celery import app as celery_app
__all__ = ('celery_app',)
我尝试做this question suggests,但是它不能解决任何问题。
我还尝试查看其他运行celery的Django应用,但找不到任何不同/配置错误的
有什么聪明的方法可以解决我Celery设置的问题吗?