Wie man eine Sellerie Aufgabe scheitern innerhalb der Aufgabe?

Unter bestimmten Bedingungen, ich möchte eine Sellerie-Aufgabe nicht aus, dass innerhalb dieser Aufgabe. Ich habe versucht, die folgenden:

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

Jedoch die Aufgabe noch Berichte gelungen:

Task-sim.Aufgaben.run_simulation[9235e3a7-c6d2-4219-bbc7-acf65c816e65]
es gelang 1.17847704887 s: False

Scheint es, dass der Status kann nur geändert werden, während die Aufgabe ausgeführt wird, und sobald es abgeschlossen ist - Sellerie ändert den Zustand, um was es hält, ist das Ergebnis (siehe diese Frage). Gibt es eine Möglichkeit, ohne zu Versagen, die Aufgabe durch das auslösen einer exception, um Sellerie zurück, dass Sie die Aufgabe gescheitert ist?

  • Haben Sie versucht, um eine Ausnahme in deinem code?
  • Das auslösen einer exception macht in der Tat der Aufgabe scheitern, die beinhaltet, senden Sie mir eine E-Mail jedesmal, wenn das passiert - etwas, was ich gerne vermeiden möchte. Sorry für unklar zu sein, den ich verändert habe die Frage jetzt.
InformationsquelleAutor Meilo | 2011-10-06
Schreibe einen Kommentar