diff options
author | Alex Grönholm <alex.gronholm@nextday.fi> | 2014-10-20 12:39:29 +0300 |
---|---|---|
committer | Alex Grönholm <alex.gronholm@nextday.fi> | 2014-10-20 13:22:36 +0300 |
commit | 7947840c0bc6981210bfca46c540f546fa7644cc (patch) | |
tree | 47c4a85e5d636830d782f0c1d0eeb1c130b8c62d | |
parent | 3ec0d0b2038bb2bb00ad8c7060ffe64d4c2f8b51 (diff) | |
download | apscheduler-7947840c0bc6981210bfca46c540f546fa7644cc.tar.gz |
Fixed start date getting set too far in the future in IntervalTrigger (fixes #70)
-rw-r--r-- | apscheduler/triggers/interval.py | 2 | ||||
-rw-r--r-- | tests/test_triggers.py | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/apscheduler/triggers/interval.py b/apscheduler/triggers/interval.py index 025161a..df9e6fe 100644 --- a/apscheduler/triggers/interval.py +++ b/apscheduler/triggers/interval.py @@ -40,7 +40,7 @@ class IntervalTrigger(BaseTrigger): else: self.timezone = get_localzone() - start_date = start_date or (datetime.now() + self.interval) + start_date = start_date or (datetime.now(self.timezone) + self.interval) self.start_date = convert_to_datetime(start_date, self.timezone, 'start_date') self.end_date = convert_to_datetime(end_date, self.timezone, 'end_date') diff --git a/tests/test_triggers.py b/tests/test_triggers.py index df98e87..0ab8fe8 100644 --- a/tests/test_triggers.py +++ b/tests/test_triggers.py @@ -243,6 +243,11 @@ class TestIntervalTrigger(object): now = trigger.start_date + timedelta(microseconds=1000) assert trigger.get_next_fire_time(None, now) == trigger.start_date + trigger.interval + def test_no_start_date(self, timezone): + trigger = IntervalTrigger(seconds=2, timezone=timezone) + now = datetime.now(timezone) + assert (trigger.get_next_fire_time(None, now) - now) <= timedelta(seconds=2) + def test_different_tz(self, trigger, timezone): alter_tz = pytz.FixedOffset(-60) start_date = alter_tz.localize(datetime(2009, 8, 3, 22, second=2, microsecond=1000)) |