динамическое обновление списка в python

95
03 января 2021, 13:00

есть скрипт, который подключатся к БД (mysql) с помощью pymysql и использует данные из базы в своей работе (в виде списка) как лучше будет организовать обновление данных в скрипте при обновлении базы данных (добавление/удаление записей) без перезапуска скрипта и без периодического опроса БД сделать бэкэнд на каком-нибудь джанго или фласке или можно попроще?

Answer 1

Как я понял, скрипт создан для какой-то непрерывной работы и сам не принимает входящие запросы, лишь требует свежих данных. Можно поступить разными способами.

Способ 1

Просто периодически обращаться к БД и вытаскивать свежие данные. Можно это сделать в отдельном потоке, тогда стоит ещё подумать и о мьютексах. Можно в основном – поставить циклический счётчик и инкрементировать его при каждой итерации основной работы; или использовать вместо счётчика timestamp последнего обновления данных.

Такой подход прост и удобен, если данных не много, обновления происходят часто, а некоторые задержки несущественны.

Способ 2

Прикрутить Django/Flask чтобы принимать инфу об обновлении данных. Тогда уже основной код надо будет пускать в отдельном потоке и также использовать мьютексы.

Способ чуть посложнее, актуален, если данных много, обновления происходят редко, а задержки надо минимизировать.

READ ALSO
Ошибка Failed to open the referenced table

Ошибка Failed to open the referenced table

Не получается настроить references в MySQL, не понимаю что делаю не правильно

220
relation does not exist

relation does not exist

3-й день мучаюсь с данной проблемойНа heroku имеется БД MySQL

129