Browse Source

Fix for chord inside chord when using json serializer. Closes #1987

Ask Solem 11 years ago
parent
commit
f4658e6082
1 changed files with 4 additions and 2 deletions
  1. 4 2
      celery/backends/base.py

+ 4 - 2
celery/backends/base.py

@@ -167,8 +167,10 @@ class BaseBackend(object):
         """Convert serialized exception to Python exception."""
         if self.serializer in EXCEPTION_ABLE_CODECS:
             return get_pickled_exception(exc)
-        return create_exception_cls(
-            from_utf8(exc['exc_type']), __name__)(exc['exc_message'])
+        elif not isinstance(exc, BaseException):
+            return create_exception_cls(
+                from_utf8(exc['exc_type']), __name__)(exc['exc_message'])
+        return exc
 
     def prepare_value(self, result):
         """Prepare value for storage."""