2014-07-07 13 views

Antwort

7

Ja, alles, was Sie tun müssen, ist CELERY_SEND_TASK_ERROR_EMAILS = True und wenn Sellerie Prozess fehlschlägt django wird Nachricht mit Traceback an alle E-Mails senden in ADMINS Einstellungen gesetzt.

+0

Ja, danke. aber es hat ein Problem, dass es eine E-Mail für jede fehlgeschlagene Aufgabe sendet. – Ali

+0

Auch hat es nichts mit Django zu tun, es funktioniert auch, wenn du Sellerie mit Django nicht verwendest, solange alle richtigen Konfigurationseinträge da sind. –

+0

Die Frage bestand darin, Warnungen zu erhalten, wenn ein Schwellenwert für fehlgeschlagene oder erneut erledigte Aufgaben erreicht wurde, und keine E-Mail für jede Aufgabe zu senden (möglicherweise Tausende). Siehe [diese Antwort] (http://stackoverflow.com/questions/26626946/how-to-get-the-failed-tasks-in-sellery/32859547#32859547), um eine Liste fehlgeschlagener Aufgaben zu erhalten, aus denen Sie berechnen könnten Statistiken zum Senden einer Warnung. – RichVel

2

Soweit ich weiß, ist es nicht out of the box möglich.

Sie könnten benutzerdefinierte Kunden oben auf Sellerie oder Blume schreiben oder direkt auf RabbitMQ zugreifen.

Was ich tun würde (und ich mache) ist einfach protokolliert fehlgeschlagene Aufgaben und dann etwas wie Graylog2 verwenden, um die Protokolldateien zu überwachen, das funktioniert für Ihre gesamte Infrastruktur, nicht nur Sellerie.

Sie können auch etwas wie NewRelic verwenden, das Ihre Prozesse direkt überwacht und viele andere Funktionen bietet. Obwohl E-Mail-Berichte zu Ausnahmen in NewRelic etwas eingeschränkt sind.

Ein einfacher Client/Monitor ist wahrscheinlich die schnellste Lösung.

+0

Also warum die Abstimmung unten? Lesen Sie die Frage, die offensichtliche Antwort ist, dass Sie das nicht machen können. Du kannst tun, was @daniula gesagt hat, aber es ist nicht ernst. Wenn etwas ernsthaft schief geht, haben Sie 10k E-Mails in Ihrem Posteingang. –

+0

Dieser Downvote ist mein Fehler. Ihre Lösung ist in Ordnung, ich habe nicht bemerkt, dass die Nachricht gesendet werden soll, nachdem X fehlschlägt, nicht alle Fehler. Ich kann meine Stimme nur ändern, wenn Ihre Antwort bearbeitet wird. – daniula