簡體   English   中英

有限的芹菜擊敗任務

[英]A finite celery beat task

我在一個與第三方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)

倒計時是重試前的秒數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM