瀏覽代碼

Fixes swalling of exception in celery.worker

Ask Solem 13 年之前
父節點
當前提交
71af08a882
共有 1 個文件被更改,包括 6 次插入1 次删除
  1. 6 1
      celery/worker/__init__.py

+ 6 - 1
celery/worker/__init__.py

@@ -14,6 +14,7 @@ from __future__ import absolute_import
 import atexit
 import logging
 import socket
+import sys
 import threading
 import traceback
 
@@ -268,7 +269,11 @@ class WorkController(object):
                 blocking(component.start)
         except SystemTerminate:
             self.terminate()
-        except:
+        except Exception, exc:
+            self.logger.error("Unrecoverable error: %r" % (exc, ),
+                              exc_info=sys.exc_info())
+            self.stop()
+        except (KeyboardInterrupt, SystemExit):
             self.stop()
 
         # Will only get here if running green,