我遵循http://celeryq.org/docs/django-celery/getting-started/first-steps-with-django.html中的指南并创建了一个在tasks.py中调用我的测试方法的视图:
import time
from celery.decorators import task
@task()
def add(x, y):
time.sleep(10)
return x + y
但是如果我的add-method需要很长时间来响应,我如何存储调用add.delay(1,2)时得到的结果对象,并使用它来检查进度/成功/结果?
答案 0 :(得分:4)
您只需要任务ID:
result = add.delay(2, 2)
result.task_id
通过这个,您可以轮询任务的状态(使用例如AJAX) Django-celery附带了一个返回JSON结果和状态的视图: http://celeryq.org/docs/django-celery/reference/djcelery.views.html