Ver código fonte

[beat] Fixes another timezone issue. Closes #943

Ask Solem 12 anos atrás
pai
commit
0b6c298536
2 arquivos alterados com 4 adições e 4 exclusões
  1. 1 2
      celery/schedules.py
  2. 3 2
      celery/utils/timeutils.py

+ 1 - 2
celery/schedules.py

@@ -80,7 +80,7 @@ class schedule(object):
 
     def maybe_make_aware(self, dt):
         if self.app.conf.CELERY_ENABLE_UTC:
-            return maybe_make_aware(dt)
+            return maybe_make_aware(dt, self.tz)
         return dt
 
     def __repr__(self):
@@ -486,7 +486,6 @@ class crontab(schedule):
         See :meth:`celery.schedules.schedule.is_due` for more information.
 
         """
-        last_run_at = self.maybe_make_aware(last_run_at)
         rem_delta = self.remaining_estimate(last_run_at)
         rem = timedelta_seconds(rem_delta)
         due = rem == 0

+ 3 - 2
celery/utils/timeutils.py

@@ -229,5 +229,6 @@ def to_utc(dt):
 
 def maybe_make_aware(dt, tz=None):
     if is_naive(dt):
-        return to_utc(dt)
-    return localize(dt, timezone.utc if tz is None else tz)
+        dt = to_utc(dt)
+    return localize(dt,
+        timezone.utc if tz is None else timezone.tz_or_local(tz))