忽略Celery错误电子邮件中的终止异常

时间:2014-12-14 17:40:37

标签: python django celery

我启用了CELERY_SEND_TASK_ERROR_EMAILS。我还有一个任务,预计偶尔会被终止,当它发生时会导致错误电子邮件。是否有可能忽略这个预期的情况,以至于我没有收到错误电子邮件?

我尝试将throws=(Terminated,)添加到装饰器中,但似乎没有解决问题。

所以,装饰者是这样的:

@shared_task(default_retry_delay=10, max_retries=5, throws=(Terminated,))

回溯如下所示:

Traceback (most recent call last):
  File "/sendhub_build/sendhub/venv/3de3b64fe072e06e8419927637fe3c948b576707/venv/lib/python2.7/site-packages/billiard/pool.py", line 1672, in _set_terminated
    raise Terminated(-(signum or 0))
Terminated: 15

1 个答案:

答案 0 :(得分:0)

从Celery 3.1.11开始,这个行为似乎已得到修复:

http://celery.readthedocs.org/en/latest/changelog.html#version-3-1-11