我已经使用rabbitmq设置了与Celery运行的Django。
我在我的项目中实现了以下示例:http://docs.celeryproject.org/en/master/django/first-steps-with-django.html
当我在两个终端窗口中运行简单测试时,结果如下:
# Terminal 1
>>> from Exercise.tasks import *
>>> result = add.delay(2,3)
>>> result
<AsyncResult: e6c92297-eea2-4f99-8902-1446ac74a6bb>
>>> result.ready()
False
# Terminal 2
$ celery -A Website3 worker -l info
[2014-10-02 14:39:59,269: INFO/MainProcess] Received task: Exercise.tasks.add[464249dd-ab89-4099-badd-9190a147310f]
[2014-10-02 14:39:59,271: INFO/MainProcess] Task Exercise.tasks.add[464249dd-ab89-4099-badd-9190a147310f] succeeded in 0.0010875929147s: 5
显然数据已经完成,但我无法收到这些数据。
我在这里做错了什么?
答案 0 :(得分:4)
您是否正确设置了结果后端? http://docs.celeryproject.org/en/master/userguide/configuration.html#task-result-backend-settings
Celery需要正确设置此设置以存储异步任务的状态和结果。