Преглед на файлове

Burst through several eta tasks at once, do not always sleep between scheduler iterations.

Ask Solem преди 15 години
родител
ревизия
ce87ec5752
променени са 2 файла, в които са добавени 2 реда и са изтрити 5 реда
  1. 1 4
      celery/worker/controllers.py
  2. 1 1
      celery/worker/scheduler.py

+ 1 - 4
celery/worker/controllers.py

@@ -110,9 +110,6 @@ class ScheduleController(BackgroundThread):
     def on_iteration(self):
         """Wake-up scheduler"""
         delay = self._scheduler.next()
-        if delay is None:
-            delay = 1
-
         self.debug("ScheduleController: Scheduler wake-up"
                 "ScheduleController: Next wake-up eta %s seconds..." % delay)
-        time.sleep(delay)
+        time.sleep(delay or 1)

+ 1 - 1
celery/worker/scheduler.py

@@ -69,7 +69,7 @@ class Scheduler(object):
                         ready_queue.put(item)
                         if callback is not None:
                             callback()
-                        yield 0
+                        continue
                     else:
                         heapq.heappush(self._queue, event)
             yield None