Ich arbeite derzeit mit Sellerie-Aufgaben in einem Django-basierten Projekt. Wir haben Raven konfiguriert, um alle nicht abgefangenen Ausnahmen und Protokollnachrichten an Sentry zu senden, wie in der documentation beschrieben.Sellerie Aufgaben nicht abgefangene Ausnahmen werden nicht an Sentry gesendet
Alles funktioniert ziemlich gut, mit Ausnahme von nicht abgefangenen Ausnahmen in Sellerie Aufgaben. wenn ich diese Aufgabe zum Beispiel laufen:
@app.task
def test_logging():
log.error('Testing logging inside a task')
raise IndexError('Testing exception inside a task')
Ich sehe nur in Sentry die log.error(...)
aber nicht die IndexError
abgefangene Ausnahme. Ich habe versucht, eine try-except
Block um die Ausnahme mit einer log.exception(...)
innerhalb und es hat funktioniert, aber ich denke, es ist nicht skalierbar, alle Ausnahmen wie diese zu fangen.
Also, das Problem sind nur nicht abgefangene Ausnahmen, die irgendwie nicht richtig behandelt werden. Das sind meine aktuellen Paketversionen
:
celery (3.1.17)
raven (5.1.1)
Django (1.7.1)
Würden Sie mir helfen, in irgendeiner Richtung zu bewegen?
Danke für Ihre Zeit!
haben Sie bereits http://raven.readthedocs.org/en/latest/integrations/sellery.html und http://docs.selleryproject.org/en/latest/configuration.html#celeryd-hijack-root ausprobiert -Logger? – DRC
Danke DRC, schließlich hat die Lösung mit 'register_signal (client) 'funktioniert, und jetzt sehen wir, dass die nicht abgefangenen Ausnahmen in Sentry korrekt protokolliert wurden. Prost! –
froh, dass es geholfen hat. – DRC