#python #flask
Имеется веб приложение, которое реализовано на Flask. Вопрос заключается в следующем. Идея такая - два разных пользователя загружают например списки товаров. После этого пользователь А изменяет товар, и пользователь Б тоже изменяет этот же товар. Система должна определить, Что товар был уже изменен и второй пользователь перезаписывает информацию, внесенную первым. Это может выглядеть как сообщение пользователю Б в котором написано что он перезаписывает. Сама система работает с базой данных приложения, используя SQLAlchemy. Сам Flask по умолчанию обрабатывает запросы последовательно, поэтому вопрос, что нужно сделать, чтобы реализовать посыл сообщения пользователю Б. Уже день ищу в интернете, ничего интересного не вижу.
Ответы
Ответ 1
Оптимистическая блокировка спасёт отца русской демократии. Это самое простое решение, требующее незначительных доработок: Добавляете в модель поле, хранящее версию данных; Добавляете обработку исключения StaleDataError в обработчик сохраняющий товар; Добавляете шаблон с формой для разрешения конфликта.Ответ 2
Обмен сообщениями в реальном времени или отправку сообщения пользователю о каком-то изменении можно реализовать с помощью SocketIO - https://github.com/miguelgrinberg/python-socketio Есть интеграция с Flask
Комментариев нет:
Отправить комментарий