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)を呼び出したときに取得したresult-objectを保存し、それを使用してget laterを使用して進行状況/成功/結果を確認するにはどうすればよいですか?

4

1 に答える 1

4

タスク ID のみが必要です。

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

これにより、タスクのステータスをポーリングできます (たとえば AJAX を使用) 。Django -celery には、結果とステータスを JSON で返すビューが付属しています: html

于 2010-09-14T09:27:18.303 に答える