فهرست منبع

PromiseProxy: Only remove original object if evaluation succeeded

Ask Solem 11 سال پیش
والد
کامیت
924f3076f6
1فایلهای تغییر یافته به همراه3 افزوده شده و 1 حذف شده
  1. 3 1
      celery/local.py

+ 3 - 1
celery/local.py

@@ -251,7 +251,9 @@ class PromiseProxy(Proxy):
             thing = Proxy._get_current_object(self)
             object.__setattr__(self, '__thing', thing)
             return thing
-        finally:
+        except:
+            raise
+        else:
             for attr in _clean:
                 try:
                     object.__delattr__(self, attr)