# HG changeset patch # User Marcin Kuzminski # Date 2018-09-10 19:05:38 # Node ID f14609798dff3b186f4d42aae568a707ac9d7790 # Parent e2100892e42d3fc7596ed55ebdbd5b8a7bd46d96 celery: use exc_tracker to store tasks exceptions for easier debugging. diff --git a/rhodecode/lib/celerylib/loader.py b/rhodecode/lib/celerylib/loader.py --- 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()