1
我在与第三方API集成的项目上使用Celery。我需要发送一个文件到服务进行处理。发送文件后,我需要每10秒钟请求处理状态,直到完成为止。有限的芹菜拍打任务
就像我现在所做的那样,主要任务将分离子任务来检查处理的状态。我希望这些子任务像有限的芹菜节拍任务一样。当我将它称为子任务时,我想开始任务生命,并且我想在任务完成时结束任务。
完成此操作的最佳方法是什么?
我在与第三方API集成的项目上使用Celery。我需要发送一个文件到服务进行处理。发送文件后,我需要每10秒钟请求处理状态,直到完成为止。有限的芹菜拍打任务
就像我现在所做的那样,主要任务将分离子任务来检查处理的状态。我希望这些子任务像有限的芹菜节拍任务一样。当我将它称为子任务时,我想开始任务生命,并且我想在任务完成时结束任务。
完成此操作的最佳方法是什么?
使用Task.retry,例如:
from celery.result import AsyncResult
@task
def verify_task(task_id):
result = AsyncResult(task_id)
if result.ready():
do_something_with(result.get())
else:
verify_task.retry(countdown=1)
倒计时是秒的重试前的数。
谢谢!很高兴知道重试旨在用于异常处理之外。 – Kenzic 2012-03-12 20:02:43