Преглед на файлове

Exception sent by JSON serialized worker can be read by pickle configured worker

Ask Solem преди 11 години
родител
ревизия
904e2af39b
променени са 1 файла, в които са добавени 4 реда и са изтрити 4 реда
  1. 4 4
      celery/backends/base.py

+ 4 - 4
celery/backends/base.py

@@ -165,11 +165,11 @@ class BaseBackend(object):
 
     def exception_to_python(self, exc):
         """Convert serialized exception to Python exception."""
-        if self.serializer in EXCEPTION_ABLE_CODECS:
-            return get_pickled_exception(exc)
-        elif not isinstance(exc, BaseException):
-            return create_exception_cls(
+        if not isinstance(exc, BaseException):
+            exc = create_exception_cls(
                 from_utf8(exc['exc_type']), __name__)(exc['exc_message'])
+        if self.serializer in EXCEPTION_ABLE_CODECS:
+            exc = get_pickled_exception(exc)
         return exc
 
     def prepare_value(self, result):