如何查看未注册任务的状态?

时间:2018-12-07 05:22:45

标签: celery

我的应用程序A在应用程序B中调用了一个芹菜任务 longtask 。但是, longtask 在B中却未在A中注册,因此A使用{{1 }}。我希望A中的一种机制能够定期检查 longtask 是否完成。我该怎么办?

1 个答案:

答案 0 :(得分:1)

send_task返回包含任务ID的AsyncResult。您可以使用此ID定期检查 longtask 的结果。


result = my_app.send_task('longtask', kwargs={})
task_id = result.id

# anywhere else in your code you can reuse the 
# task_id to check the status
from celery.result import AsyncResult
import time

done = False
while not done:
    result = AsyncResult(task_id)
    current_status = result.status
    if current_status == 'SUCCESS':
        print('yay! we are done')
        done = True
    time.sleep(10)