Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如何配置 celery 在任务失败时发送电子邮件警报?
例如,当超过 3 个任务失败或重试超过 10 个任务时,我希望 Celery 通知我。
是否可以使用 celery 或实用程序(例如花)或者我必须编写自己的插件?
是的,您需要做的就是设置CELERY_SEND_TASK_ERROR_EMAILS = True,如果 Celery 进程失败,django 将向设置中设置的所有电子邮件发送带有回溯的消息ADMINS。
CELERY_SEND_TASK_ERROR_EMAILS = True
ADMINS
据我所知,开箱即用是不可能的。
您可以在 celery 或 Flower 上编写自定义客户端,也可以直接访问 RabbitMQ。
我要做的(我正在做的)只是记录失败的任务,然后使用Graylog2之类的东西来监视日志文件,这适用于您的所有基础设施,而不仅仅是 Celery。
您还可以使用像NewRelic这样的东西,它可以直接监控您的流程并提供许多其他功能。尽管在 NewRelic 中有关异常情况的电子邮件报告有所限制。
一个简单的客户端/监视器可能是最快的解决方案。