Sfoglia il codice sorgente

TaskBucket buckets can be either Queue or TokenBucketQueue, so clear accordingly.

Ask Solem 15 anni fa
parent
commit
1f1ffffc59
1 ha cambiato i file con 6 aggiunte e 1 eliminazioni
  1. 6 1
      celery/worker/buckets.py

+ 6 - 1
celery/worker/buckets.py

@@ -171,7 +171,12 @@ class TaskBucket(object):
 
     def clear(self):
         for bucket in self.buckets.values():
-            bucket.queue.clear()
+            try:
+                bucket.clear()
+            except AttributeError:
+                # Probably a Queue, not a TokenBucketQueue. Clear the underlying
+                # deque instead.
+                bucket.queue.clear()
 
 
 class TokenBucketQueue(object):