فهرست منبع

Tests now passing again

Ask Solem 16 سال پیش
والد
کامیت
6235a67ccf
2فایلهای تغییر یافته به همراه6 افزوده شده و 3 حذف شده
  1. 2 0
      celery/managers.py
  2. 4 3
      celery/tests/test_models.py

+ 2 - 0
celery/managers.py

@@ -62,6 +62,8 @@ class PeriodicTaskManager(models.Manager):
         """
         periodic_tasks = tasks.get_all_periodic()
         waiting = []
+        # XXX This will become a lot of queries. Maybe just only create
+        # the rows at init, and then select all later.
         for task_name, task in periodic_tasks.items():
             task_meta, created = self.get_or_create(name=task_name)
             # task_run.every must be a timedelta object.

+ 4 - 3
celery/tests/test_models.py

@@ -8,7 +8,7 @@ from celery.registry import tasks
 
 class TestPeriodicTask(PeriodicTask):
     name = "celery.unittest.test_models.test_periodic_task"
-    run_every = timedelta(days=1)
+    run_every = timedelta(minutes=30)
 
 
 class TestModels(unittest.TestCase):
@@ -57,8 +57,9 @@ class TestModels(unittest.TestCase):
         self.assertTrue(unicode(p).startswith("<PeriodicTask:"))
         self.assertFalse(p in PeriodicTaskMeta.objects.get_waiting_tasks())
         # Have to avoid save() because it applies the auto_now=True.
-        PeriodicTaskMeta.objects.filter(name=p.name).update(
-                last_run_at=datetime.now() - TestPeriodicTask.run_every)
+        PeriodicTaskMeta.objects.filter(name=p.name).update (
+                last_run_at=datetime.now() - (TestPeriodicTask.run_every +
+                timedelta(seconds=10)))
         self.assertTrue(p in PeriodicTaskMeta.objects.get_waiting_tasks())
         self.assertTrue(isinstance(p.task, TestPeriodicTask))