Ask Solem преди 12 години
родител
ревизия
c5d34e900c
променени са 1 файла, в които са добавени 6 реда и са изтрити 0 реда
  1. 6 0
      celery/utils/serialization.py

+ 6 - 0
celery/utils/serialization.py

@@ -159,6 +159,12 @@ class UnpickleableExceptionWrapper(Exception):
 
 def get_pickleable_exception(exc):
     """Make sure exception is pickleable."""
+    try:
+        pickle.loads(pickle.dumps(exc))
+    except Exception:
+        pass
+    else:
+        return exc
     nearest = find_nearest_pickleable_exception(exc)
     if nearest:
         return nearest