【发布时间】:2013-02-23 04:40:43
【问题描述】:
我需要找到在任何中间子任务引发异常后如何继续使用 immutable=True 子任务执行链的方法。
我已经读过这个thread 和这个issue comment。现在这些错误已修复,但我需要实现相反的行为。我不需要停止我的链执行。可能还有另一种方法可以以任何顺序一个接一个地执行独立任务列表而不在它们之间发送结果?而且我需要异步执行它们,因为在这种情况下 django-celery 将存储有关每个任务的统计信息。
一种解决方案是使用以下内容覆盖所有子任务的主体:
try:
...
except Exception, e:
logger.error('Exception raised: %s' % e)
raise e
但在这种情况下,所有子任务都将以 SUCCESS 状态执行,并且 django-celery 管理界面中的异常回溯将毫无用处。
【问题讨论】:
-
我也有同样的问题,有解决办法吗?
-
@reptilicus 不,我没找到。结果我完全重构了我的芹菜画布结构并开始使用 PeriodicTask,它每分钟以平衡的方式启动另一个任务
-
那真是太糟糕了!
标签: django celery django-celery