在某些情況下,我想在該任務中使芹菜任務失敗。我試過如下:如何使任務中的芹菜任務失敗?
from celery.task import task
from celery import states
@task()
def run_simulation():
if some_condition:
run_simulation.update_state(state=states.FAILURE)
return False
但是,任務仍然報告已經成功:
任務sim.tasks.run_simulation [9235e3a7-c6d2-4219-bbc7-acf65c816e65] 成功1.17847704887s :假
看來,任務運行時的狀態,纔可以修改,一旦完成 - 芹菜改變狀態,不管它是認爲的結果(參見this question)。有什麼辦法,不通過提出異常而使任務失敗,讓芹菜迴歸該任務失敗?
你試圖從你的代碼中引發異常? – hymloth
@hymloth提出異常使得任務失敗,其中包括每次發生這種情況都會發送一封電子郵件 - 這是我想避免的。抱歉不清楚,我現在改變了這個問題。 – Meilo