|
@@ -477,15 +477,20 @@ class crontab(BaseSchedule):
|
|
return True
|
|
return True
|
|
return False
|
|
return False
|
|
|
|
|
|
|
|
+ def is_before_last_run(year, month, day):
|
|
|
|
+ return self.maybe_make_aware(datetime(year,
|
|
|
|
+ month,
|
|
|
|
+ day)) < last_run_at
|
|
|
|
+
|
|
def roll_over():
|
|
def roll_over():
|
|
for _ in range(2000):
|
|
for _ in range(2000):
|
|
flag = (datedata.dom == len(days_of_month) or
|
|
flag = (datedata.dom == len(days_of_month) or
|
|
day_out_of_range(datedata.year,
|
|
day_out_of_range(datedata.year,
|
|
months_of_year[datedata.moy],
|
|
months_of_year[datedata.moy],
|
|
days_of_month[datedata.dom]) or
|
|
days_of_month[datedata.dom]) or
|
|
- (self.maybe_make_aware(datetime(datedata.year,
|
|
|
|
- months_of_year[datedata.moy],
|
|
|
|
- days_of_month[datedata.dom])) < last_run_at))
|
|
|
|
|
|
+ (is_before_last_run(datedata.year,
|
|
|
|
+ months_of_year[datedata.moy],
|
|
|
|
+ days_of_month[datedata.dom])))
|
|
|
|
|
|
if flag:
|
|
if flag:
|
|
datedata.dom = 0
|
|
datedata.dom = 0
|