我启用了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
答案 0 :(得分:0)
从Celery 3.1.11开始,这个行为似乎已得到修复:
http://celery.readthedocs.org/en/latest/changelog.html#version-3-1-11