12

如何配置 celery 在任务失败时发送电子邮件警报?

例如,当超过 3 个任务失败或重试超过 10 个任务时,我希望 Celery 通知我。

是否可以使用 celery 或实用程序(例如花)或者我必须编写自己的插件?

4

2 回答 2

7

是的,您需要做的就是设置CELERY_SEND_TASK_ERROR_EMAILS = True,如果 Celery 进程失败,django 将向设置中设置的所有电子邮件发送带有回溯的消息ADMINS

于 2014-07-07T20:23:06.533 回答
2

据我所知,开箱即用是不可能的。

您可以在 celery 或 Flower 上编写自定义客户端,也可以直接访问 RabbitMQ。

我要做的(我正在做的)只是记录失败的任务,然后使用Graylog2之类的东西来监视日志文件,这适用于您的所有基础设施,而不仅仅是 Celery。

您还可以使用像NewRelic这样的东西,它可以直接监控您的流程并提供许多其他功能。尽管在 NewRelic 中有关异常情况的电子邮件报告有所限制。

一个简单的客户端/监视器可能是最快的解决方案。

于 2014-07-07T12:33:09.543 回答