У меня есть celery 4.1.0, django 1.11.11, rabbitMQ и Redis для результатов.
@shared_task(bind=True)
def one_task(self):
try:
...
some db stuff here
...
except BaseException as error:
self.update_state(state='FAILURE',
meta={'notes': 'some notes'})
logger.error('Error Message ', exc_info=True,
extra={'error': error})
Итак, когда мой код сталкивается с блоком, кроме блока, self.update_state не работает, но работает регистратор... На самом деле, я не уверен, что
@shared_task(bin=True)
это правильно...
Что я хочу сделать, это поймать исключения (через блоки try и кроме) моего кода Python, изменить состояния и завершить задачи вручную. Итак, любой совет/помощь?