Procházet zdrojové kódy

[->3.0] LimitedSet.purge must ignore KeyError

Ask Solem před 12 roky
rodič
revize
7eda9293f0
1 změnil soubory, kde provedl 4 přidání a 1 odebrání
  1. 4 1
      celery/datastructures.py

+ 4 - 1
celery/datastructures.py

@@ -598,7 +598,10 @@ class LimitedSet(object):
                 if time.time() < item[0] + self.expires:
                     heappush(H, item)
                     break
-            self._data.pop(item[1])
+            try:
+                self._data.pop(item[1])
+            except KeyError:  # out of sync with heap
+                pass
             i += 1
 
     def update(self, other, heappush=heappush):