Как сохранять состояние между запросами для каждого пользователя?
В базе хранится некоторое большое количество строк.
При нажатии на кнопку на веб странице мы должны взять некоторое количество записей - M, а потом из этих M рандомно выбрать две строки, при следующей нажатии мы должны взять следующие M и выбирать уже из них.
Проблема заключается в том, что каждом нажатии кнопку запрос к серверу будет запускать все приложение заново, и соответственно каждый раз мы будем получать первые M строк.
Как возможно сохранить состояние позиции?
При запросе запускать цикл и пока он не отработает не завершать программу не вариант. Сервер не особо мощный, а пользоваться данным сервисом будет много людей, не хотелось бы держать запущенными по несколько сотен или тысяч процессов python.
Что означает "будет запускать все приложение заново"? Если каждый раз идет перезагрузка страницы, сервер может вшить в нее любую информацию, в том числе и о требуемом сдвиге. Если же страница статична и перезагрузка идет через SPA или AJAX, то информацию о сдвиге меняет сама страница.
1. С чего вы взяли, что приложение каждый раз запускается заново?
Вопрос этот задаю из-за того, что в случае того же джанго приложение не перезапускается.
Сдвиг для каждого пользователя можно где-нибудь сохранить - хоть в словаре в ОЗУ, хоть в файле, хоть в той же БД, где и данные хранятся.