From b79d6e197a7f526cfd512cd44a8672d8d9e96226 Mon Sep 17 00:00:00 2001 From: Marcin Kuzminski Date: Mon, 10 Sep 2018 21:05:38 +0200 Subject: [PATCH] celery: use exc_tracker to store tasks exceptions for easier debugging. --- rhodecode/lib/celerylib/loader.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/rhodecode/lib/celerylib/loader.py b/rhodecode/lib/celerylib/loader.py index 10925c99..b847c5ff 100644 --- a/rhodecode/lib/celerylib/loader.py +++ b/rhodecode/lib/celerylib/loader.py @@ -164,7 +164,14 @@ def task_retry_signal( @signals.task_failure.connect def task_failure_signal( task_id, exception, args, kwargs, traceback, einfo, **kargs): + from rhodecode.lib.exc_tracking import store_exception + meta.Session.remove() + + # simulate sys.exc_info() + exc_info = (einfo.type, einfo.exception, einfo.tb) + store_exception(id(exc_info), exc_info, prefix='celery_rhodecode') + closer = celery_app.conf['PYRAMID_CLOSER'] if closer: closer()