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