def send_reminder_messages():
now = timezone.now()
tasks = (Task.objects.open()
.filter(reminder_message_sent_at=None,
reminder_message_timeout__isnull=False)
.annotate(deadline=RawSQL('created_at + reminder_message_timeout', ()))
.filter(deadline__lt=now))
for task in tasks:
send_task_message(task, _('{task} still open'), 'still_open.txt')
task.reminder_message_sent_at = now
task.save(update_fields=('reminder_message_sent_at',))
评论列表
文章目录