python - 启动 celery worker throws "no attribute ' worker_state_db'"

标签 python django celery

当我尝试在 Django 应用程序中启动 celery worker 时:

celery -A myApp worker -l info

我收到以下错误:

File "/home/alexander/.pyenv/versions/3.5.1/envs/myApp/lib/python3.5/site-packages/celery/utils/collections.py", line 134, in __getattr__
    type(self).__name__, k))

    AttributeError: 'Settings' object has no attribute 'worker_state_db'

如果你知道如何解决它,请写下你的想法!

最佳答案

如果在解析设置时引发异常,则会出现该错误。例如当我们通过环境变量设置 Django 的 SECRET_KEY(或任何其他设置)时:

SECRET_KEY = os.environ['SECRET_KEY']

要解决问题,您可以切换回:

SECRET_KEY = "asdfasdfasdf"

或使用:

SECRET_KEY = os.environ.get('SECRET_KEY', '')

如果您在 celery.py 文件中注释我们的以下行并再次启动 worker,您还可以找到导致问题的设置:

app.config_from_object('django.conf:settings', namespace='CELERY')

关于python - 启动 celery worker throws "no attribute ' worker_state_db'",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40915735/

相关文章:

python - 将数据从 post() 传递到 get_context_data()

python - 在python docker中启动php

python - celery 不释放内存

django - Celeryd 似乎找不到我的 Django 项目的设置

python - Boost Python 3迭代字典

python - 有没有一种干净的方法可以对 Django 中的某些用户隐藏模型属性?

python - Ajax POST 在 Flask 中返回 render_template?

database - 在 django 中使用电子邮件而不是登录名

python - 如何在 pyplot 中调整两个子图的大小,一个有颜色条,另一个没有?

python - 在 ubuntu :latest Docker image 中使用 gunicorn