Как обрабатывать запросы одного и того же юзера поочерёдно?
Хочу реализовать примерно следующую систему, при которой все запросы от одного и того же юзера (для простоты пусть будет один юзер = одна сессия), обрабатывались поочерёдно.
То есть, отправляет юзер некоторый запрос, сервер проверяет, есть ли запросы от этого юзера в очереди, если нет то обрабатывает запрос, если есть, то добавляет в очередь, а все запросы в очереди от этого юзера, ждут допустим выполнения всех предыдущих запросов.
Но всё не могу понять, как это осуществить.
Зачем мне это? Думаю таким образом я смогу по минимуму прибегать к транзакциям/блокировкам в бд, а также будет более последовательное взаимодействие юзера с сайтом.
Вот я заметил кстати, что на сайтах, написанных на PHP, есть некая подобная очередь запросов.
На сайтах, написанных на PHP, чаще всего есть тупо блокировка файла сессий, когда открытая в начале скрипта сессия завершается только после завершения скрипта.