현재 장고 기반 프로젝트에서 셀러리 작업을하고 있습니다. documentation에 설명 된대로 모든 잡히지 않은 예외 및 로그 메시지를 Sentry에 보내도록 레이븐을 구성했습니다.샐러리 작업이 센트리에 전송되지 않는 캐치 예외
셀러리 작업 내에서 잡히지 않는 예외를 제외하면 모든 것이 잘 작동합니다. 나는이 작업을 실행하는 경우 예를 들어, :
@app.task
def test_logging():
log.error('Testing logging inside a task')
raise IndexError('Testing exception inside a task')
난 단지 센트리에 log.error(...)
아니라 IndexError
캐치되지 않는 예외를 참조하십시오. log.exception(...)
이있는 예외 주위에서 try-except
블록을 사용하려고 시도했지만 제대로 작동했지만이 경우 모든 예외를 catch 할 수있는 확장 성이 없다고 생각합니다.
그래서 문제는 어떻게 든 제대로 처리되지 않는 캐치되지 않은 예외입니다.
이 내 현재 패키지 버전은 다음과 같습니다
celery (3.1.17)
raven (5.1.1)
Django (1.7.1)
당신이 내게 어떤 방향으로 이동하는 데 도움이겠습니까?
시간 내 주셔서 감사합니다.
거기 주석에 DRC에 의해 설명 된 바와 같이
이미 http://raven.readthedocs.org/en/latest/integrations/celery.html 및 http://docs.celeryproject.org/en/latest/configuration.html#celeryd-hijack-root를 시도해 보셨습니까? - 로거? – DRC
감사합니다. DRC, 마침내'register_signal (client) '을 사용하는 솔루션이 작동했습니다. 이제는 Sentry에 제대로 기록되지 않은 예외가 기록됩니다. 건배! –
도움이 되니 기쁩니다. – DRC