6

我已经遵循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) 时得到的结果对象并使用它来检查使用 get later 的进度/成功/结果?

4

1 回答 1

4

您只需要任务 ID:

result = add.delay(2, 2)
result.task_id

有了这个,您可以轮询任务的状态(使用例如 AJAX) Django-celery 带有一个以 JSON 格式返回结果和状态的视图:http: //celeryq.org/docs/django-celery/reference/djcelery.views。 html

于 2010-09-14T09:27:18.303 回答