DollyPapper
@DollyPapper

Как сохранять состояние между запросами для каждого пользователя?

В базе хранится некоторое большое количество строк.

При нажатии на кнопку на веб странице мы должны взять некоторое количество записей - M, а потом из этих M рандомно выбрать две строки, при следующей нажатии мы должны взять следующие M и выбирать уже из них.

Проблема заключается в том, что каждом нажатии кнопку запрос к серверу будет запускать все приложение заново, и соответственно каждый раз мы будем получать первые M строк.

Как возможно сохранить состояние позиции?
При запросе запускать цикл и пока он не отработает не завершать программу не вариант. Сервер не особо мощный, а пользоваться данным сервисом будет много людей, не хотелось бы держать запущенными по несколько сотен или тысяч процессов python.
  • Вопрос задан
  • 112 просмотров
Пригласить эксперта
Ответы на вопрос 3
@dimoff66
Кратко о себе: Я есть
Что означает "будет запускать все приложение заново"? Если каждый раз идет перезагрузка страницы, сервер может вшить в нее любую информацию, в том числе и о требуемом сдвиге. Если же страница статична и перезагрузка идет через SPA или AJAX, то информацию о сдвиге меняет сама страница.
Ответ написан
@bacon
Ну так храни состояние в той же базе.
Сервер не особо мощный, а пользоваться данным сервисом будет много людей, не хотелось бы держать запущенными по несколько сотен или тысяч процессов python.
наверно стоит начать с основ, как работает веб-сервер, как взаимодействует с python.
Ответ написан
@vabka
Токсичный
1. С чего вы взяли, что приложение каждый раз запускается заново?
Вопрос этот задаю из-за того, что в случае того же джанго приложение не перезапускается.

Сдвиг для каждого пользователя можно где-нибудь сохранить - хоть в словаре в ОЗУ, хоть в файле, хоть в той же БД, где и данные хранятся.
Ответ написан
Ваш ответ на вопрос

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

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