@felgolm

Flask — как грамотно организовать цикл проверки и обновления записей в базе данных?

Доброго времени суток!
В учебных целях взялся за написание сайта на Flask. Так как это мой первый опыт работы над сайтом, да и в целом начал кодить не так давно, упёрся в вполне тривиальный вопрос - как можно организовать постоянно исполняемую сверку в базе данных по определенному параметру, которая не будет существенно влиять на работу сайта?

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

Гуглинг по данному вопросу натолкнул на мысль, что требуется подключение стороннего инструмента типа Redis с Сelery для организации планировщика с очередью задач, но мне кажется что для описанной задачи параллельно запускать отдельный процесс с планировщиком избыточно. Так же нашёл уже готовое решение с модулем для фласка - Flask-APScheduler, однако прежде чем использовать готовое решение(и не факт что верно выбранное), хотел узнать как в принципе в реальной разработке решают подобного рода задачи. Достаточно ли будет прикрутить, например, модуль threading?
Если имеются ссылки на статьи или примеры реализации буду очень признателен.
  • Вопрос задан
  • 109 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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