Explorar o código

Add some comments

Ask Solem %!s(int64=15) %!d(string=hai) anos
pai
achega
951ef735af
Modificáronse 1 ficheiros con 19 adicións e 15 borrados
  1. 19 15
      celery/buckets.py

+ 19 - 15
celery/buckets.py

@@ -73,35 +73,39 @@ class TaskBucket(object):
     put_nowait = put
 
     def _get(self):
-        # If the first queue is always returning items, we would never
-        # get to fetching items from the other queues.
-        # So we always iterate over all the queues and put any ready
-        # items on a queue called "immediate". This queue is always checked
-        # for cached items first.
+        # If the first bucket is always returning items, we would never
+        # get to fetch items from the other buckets. So we always iterate over
+        # all the buckets and put any ready items into a queue called
+        # "immediate". This queue is always checked for cached items first.
         if self.immediate:
             try:
                 return 0, self.immediate.get_nowait()
             except QueueEmpty:
                 pass
 
-        remainding_times = []
-
+        remaining_times = []
         for bucket in self.buckets.values():
-            remainding = bucket.expected_time()
-            if not remainding:
+            remaining = bucket.expected_time()
+            if not remaining:
                 try:
+                    # Just put any ready items into the immediate queue.
                     self.immediate.put_nowait(bucket.get_nowait())
                 except QueueEmpty:
                     pass
             else:
-                remainding_times.append(remainding)
+                remaining_times.append(remaining)
 
+        # Try the immediate queue again.
         try:
             return 0, self.immediate.get_nowait()
         except QueueEmpty:
-            if not remainding_times:
+            if not remaining_times:
+                # No items in any of the buckets.
                 raise
-            return min(remainding_times), None
+
+            # There's items, but have to wait before we can retrieve them,
+            # return the shortest remaining time.
+            return min(remaining_times), None
 
     def get(self, block=True, timeout=None):
         """Retrive the task from the first available bucket.
@@ -114,11 +118,11 @@ class TaskBucket(object):
         did_timeout = lambda: timeout and time.time() - time_start > timeout
 
         while True:
-            remainding_time, item = self._get()
-            if remainding_time:
+            remaining_time, item = self._get()
+            if remaining_time:
                 if not block or did_timeout():
                     raise QueueEmpty
-                time.sleep(remainding_time)
+                time.sleep(remaining_time)
             else:
                 return item