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