我有 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)
这是正确的...
我想做的是捕获我的python代码的异常(通过try和except块),更改状态并手动终止任务。那么,有什么建议/帮助吗?