From e73cbcb6b3591492acdb496a45a90f10d6300ff2 Mon Sep 17 00:00:00 2001 From: Noah Levitt Date: Thu, 31 May 2018 16:57:06 -0700 Subject: [PATCH] log stack trace in case batch postprocessor raises exception somehow --- warcprox/__init__.py | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/warcprox/__init__.py b/warcprox/__init__.py index 20f0de4..4825e29 100644 --- a/warcprox/__init__.py +++ b/warcprox/__init__.py @@ -122,14 +122,19 @@ class BasePostfetchProcessor(threading.Thread): self.profiler = None def run(self): - if self.options.profile: - import cProfile - self.profiler = cProfile.Profile() - self.profiler.enable() - self._run() - self.profiler.disable() - else: - self._run() + try: + if self.options.profile: + import cProfile + self.profiler = cProfile.Profile() + self.profiler.enable() + self._run() + self.profiler.disable() + else: + self._run() + except: + self.logger.critical( + '%s dying due to uncaught exception', + self.name, exc_info=True) def _get_process_put(self): '''