Задать вопрос

Как настроить обновление записей в django по расписанию?

Есть модель, у которой есть foo = models.DateField(...). Как сделать так, чтобы при наступлении этой даты выполнялась функция bar(self)?
  • Вопрос задан
  • 2760 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 1
Существует минимум два варианта.

  1. Создаёте management command, которая выполняет нужное действие. Пусть вы её назвали process. При запуске она должна запросом выбирать все модели, для которых уже наступило время выполнять bar(), и обрабатывает их. Затем настраиваете запуск этой команды в cron.
  2. Либо настраиваете Celery, который тоже умеет выполнять задания по расписанию.


Выбор конкретного варианта зависит от особенностей проекта и ваших личных предпочтений. Если вам не нужно много фоновых задач и расписаний, хочется удобно запускать процедуру вручную из командной строки - то первый вариант проще.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы