Forráskód Böngészése

Beat: fixed entry._default_now() not used everywhere

I'm using custom scheduler entries with an overridden ``is_due()`` method that do not require a schedule (``entry.schedule``) to be set. Judging from the ``entry._default_now()`` method, this seems to be supported by the scheduler in Celery 4.1.0, however that method is not used everywhere, leading to an AttributeError in my use case.

This change just uses ``_default_now()`` everywhere which fixes the issue. It shouldn't have any impact on the default implementation.
Markus Kaiserswerth 7 éve
szülő
commit
27a686fd3c
1 módosított fájl, 1 hozzáadás és 1 törlés
  1. 1 1
      celery/beat.py

+ 1 - 1
celery/beat.py

@@ -237,7 +237,7 @@ class Scheduler(object):
     def _when(self, entry, next_time_to_run, mktime=time.mktime):
         adjust = self.adjust
 
-        return (mktime(entry.schedule.now().timetuple()) +
+        return (mktime(entry._default_now().timetuple()) +
                 (adjust(next_time_to_run) or 0))
 
     def populate_heap(self, event_t=event_t, heapify=heapq.heapify):