Отправка БД запроса для проверки актуальности данных
Имеется сервер на Flask с библиотекой SQLAlchemy. В коде есть функция, допустим, my_method, которая отправляет запрос в БД PostgreSQL для сравнения дат с текущим днём:
competition.end_date < datetime.date(datetime.today())
Мне нужно, чтобы эта проверка выполнялась каждые, к примеру, 30 минут. Я нашел следующий код:
import time, traceback
def every(delay, task):
next_time = time.time() + delay
while True:
time.sleep(max(0, next_time - time.time()))
try:
task()
except Exception:
traceback.print_exc()
next_time += (time.time() - next_time) // delay * delay + delay
А потом запускал так:
threading.Thread(target=lambda: every(1800, my_method)).start()
Код работает, но мне кажется есть и другой способ это сделать, потому что я, например, не могу после запуска этого файла остановить его при помощи Ctrl + c.
Есть какие-то идеи? Буду благодарен за любую помощь:)
PS. Может есть какое-то решение именно с помощью Flask?