@qwescin

Как в Django автоматически заполнять модель с некоторой периодичностью?

Назрела необходимость периодически (например, раз в 5 секунд) добавлять данные в модель. Пока на ум приходит только способ при помощи кастомной manage.py команды, которую запускать по крону.
То есть, кроном дёргаем "manage.py doit", скрипт обращается по АПИ к источнику, получает данные и если они отличны от имеющихся, то обновляет/добавляет данные в модели.
Данный способ не совсем устраивает, т.к. необходимо будет динамически менять время обновления данных и, возможно, добавления новых источников.
Существуют ли какие либо другие способы, способные способные помочь в решение данной задачи?
  • Вопрос задан
  • 219 просмотров
Решения вопроса 1
crazyzubr
@crazyzubr
Python backend-developer
Крон не подходит для задач, которые нужно выполнять каждые несколько секунд. Периодичность максимум 1 минута. Конечно, можно писать всякие костыли, но я советую посмотреть в сторону www.celeryproject.org
Можно будет запускать таск, в ходе его работы вычислить время, через которое нужно выполнить его еще раз, с точностью до секунды.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@FireGM
Просто написать скрипт на любом языке, например пайтон, и держать его постоянно запущенным. А из этого скрипта уже дергать данные и напрямую смотреть в бд или ещё куда. Там же и будет динамически рассчитываться время, через сколько снова проверить и засыпать.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы