Browse Source

Tests passing

Ask Solem 13 years ago
parent
commit
5d54f47629
3 changed files with 13 additions and 10 deletions
  1. 8 8
      celery/tests/utilities/test_timer2.py
  2. 1 0
      celery/utils/timer2.py
  3. 4 2
      celery/worker/hub.py

+ 8 - 8
celery/tests/utilities/test_timer2.py

@@ -88,25 +88,25 @@ class test_Timer(Case):
 
     def test_apply_interval(self):
         t = timer2.Timer()
-        t.enter_after = Mock()
+        t.schedule.enter_after = Mock()
 
         myfun = Mock()
         t.apply_interval(30, myfun)
 
-        self.assertEqual(t.enter_after.call_count, 1)
-        args1, _ = t.enter_after.call_args_list[0]
+        self.assertEqual(t.schedule.enter_after.call_count, 1)
+        args1, _ = t.schedule.enter_after.call_args_list[0]
         msec1, tref1, _ = args1
         self.assertEqual(msec1, 30)
         tref1()
 
-        self.assertEqual(t.enter_after.call_count, 2)
-        args2, _ = t.enter_after.call_args_list[1]
+        self.assertEqual(t.schedule.enter_after.call_count, 2)
+        args2, _ = t.schedule.enter_after.call_args_list[1]
         msec2, tref2, _ = args2
         self.assertEqual(msec2, 30)
         tref2.cancelled = True
         tref2()
 
-        self.assertEqual(t.enter_after.call_count, 2)
+        self.assertEqual(t.schedule.enter_after.call_count, 2)
 
     @patch("celery.utils.timer2.logger")
     def test_apply_entry_error_handled(self, logger):
@@ -116,7 +116,7 @@ class test_Timer(Case):
         fun = Mock()
         fun.side_effect = ValueError()
 
-        t.apply_entry(fun)
+        t.schedule.apply_entry(fun)
         self.assertTrue(logger.error.called)
 
     @redirect_stdouts
@@ -126,7 +126,7 @@ class test_Timer(Case):
 
         fun = Mock()
         fun.side_effect = ValueError()
-        t.apply_entry(fun)
+        t.schedule.apply_entry(fun)
         fun.assert_called_with()
         self.assertFalse(stderr.getvalue())
 

+ 1 - 0
celery/utils/timer2.py

@@ -198,6 +198,7 @@ class Schedule(object):
 
 
 class Timer(Thread):
+    Entry = Entry
     Schedule = Schedule
 
     running = False

+ 4 - 2
celery/worker/hub.py

@@ -21,8 +21,10 @@ class Hub(object):
         return self.close()
 
     def fire_timers(self, min_delay=10, max_delay=10):
-        delay, entry = self.scheduler.next()
-        if entry is not None:
+        while 1:
+            delay, entry = self.scheduler.next()
+            if entry is None:
+                break
             self.schedule.apply_entry(entry)
         return min(max(delay, min_delay), max_delay)