Skip to content

Commit

Permalink
#58 крон работает в соответствии с часовым поясом (в первом приближении)
Browse files Browse the repository at this point in the history
  • Loading branch information
YraganTron committed Jun 20, 2017
1 parent f7edaf3 commit 0fcd09f
Showing 1 changed file with 4 additions and 5 deletions.
9 changes: 4 additions & 5 deletions core/datatools/cron.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,18 +16,17 @@ def run(self):
sleep(60)

def check_run_time(self):
now = timezone.now()
now = timezone.now().astimezone(timezone.get_current_timezone())
templates_task = models.TaskTemplate.objects.exclude(cron='')
for template_task in templates_task:
if template_task.have_uncompleted_task():
continue

if template_task.tasks.exists():
last_time = template_task.tasks.last().logs.last().dc
last_time = template_task.tasks.last().logs.last().dc.astimezone(timezone.get_current_timezone())
else:
last_time = template_task.cron_dt

next_time = croniter(template_task.cron, last_time).get_next(datetime.datetime)
last_time = template_task.cron_dt.astimezone(timezone.get_current_timezone())
next_time = croniter(template_task.cron, last_time).get_next(datetime.datetime).astimezone(timezone.get_current_timezone())
if next_time <= now:
self.run_task(template_task)

Expand Down

0 comments on commit 0fcd09f

Please sign in to comment.