当前位置:  开发笔记 > 编程语言 > 正文

django-celery:没有配置后端结果

如何解决《django-celery:没有配置后端结果》经验,为你挑选了1个好方法。

我想在我的项目中使用django-celery

在settings.py我有

CELERY_RESULT_BACKEND = "amqp"

服务器很好用

python manage.py celeryd --setting=settings

但是如果我想从延迟的任务中访问结果,我会收到以下错误:

Traceback (most recent call last):
  File "", line 1, in 
  File "C:\Python27\lib\site-packages\celery\result.py", line 108, in ready
    return self.status in self.backend.READY_STATES
  File "C:\Python27\lib\site-packages\celery\result.py", line 196, in status
    return self.state
  File "C:\Python27\lib\site-packages\celery\result.py", line 191, in state
    return self.backend.get_status(self.task_id)
  File "C:\Python27\lib\site-packages\celery\backends\base.py", line 404, in _is
_disabled
    raise NotImplementedError("No result backend configured.  "
NotImplementedError: No result backend configured.  Please see the documentation
 for more information.

这很奇怪,因为当我刚刚运行celeryd(使用相同的芹菜设置)时,它运行得很好.以前有人遇到过这个问题吗?

提前致谢!



1> 小智..:

尽管执行了celery任务(控制台日志),但从celery任务获取结果时遇到了同样的问题。我发现的是,我CELERY_RESULT_BACKEND = "redis"在django settings.py中有相同的设置,但是我也在task.py中实例化了celery

celery = Celery('tasks', broker='redis://localhost') -我想它会覆盖settings.py属性,因此它没有为用于存储结果的celery实例配置后端服务器。

我删除了这个,让django芹菜从settings.py获取属性,示例代码为我工作。

推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有