我需要找到在任何中间子任务引发异常后如何继续使用immutable=True子任务执行链的方式。
我已经阅读了这个线程和这个问题评论。现在这些错误已修复,但我需要实现相反的行为。我不需要停止我的链执行。是否有另一种方法可以以任何顺序依次执行独立任务列表而不在它们之间发送结果?而且我需要异步执行它们,因为在这种情况下 django-celery 将存储有关每个任务的统计信息。
一种解决方案是使用以下内容覆盖所有子任务的主体:
try:
...
except Exception, e:
logger.error('Exception raised: %s' % e)
raise e
但在这种情况下,所有子任务都将以SUCCESS状态执行,并且django-celery管理界面中的异常回溯将毫无用处。