Как заставить задачу сельдерея провалиться изнутри задачи?

В некоторых условиях я хочу, чтобы задача сельдерея провалилась из-за этой задачи. Я попробовал следующее:

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: False

Кажется, что состояние может быть изменено только во время выполнения задачи и после ее завершения - сельдерей меняет состояние на то, что он считает результатом (см.этот вопрос). Есть ли способ, не провалив задание, вызвав исключение, вернуть сельдерею, что задание не выполнено?

Ответы на вопрос(3)

Ваш ответ на вопрос