Celery Exception Handling

Viewed 19656

Suppose i have this task definition:

def some_other_foo(input)
raise Exception('This is not handled!')
return input

@app.task(
  bind=True,
  max_retries=5,
  soft_time_limit=20)
def some_foo(self, someInput={}):
   response=""
   try:
     response = some_other_foo(someInput)
   except Exception as exc:
     self.retry(countdown=5, exc=exc)
     response="error"
 return response

I have a problem that exception is not handled in some_foo, I get error instead of response="error", task is crashed and i get Traceback that indicates an Exception was raised.

Is it possible to return regular response, but to set celery task as failed, so result in flower will be failed ?

I am using:
Celery 4.1
AMPQ as broker
Celery Flower as monitoring

1 Answers
Related