Работа с несколькими пользователями в Django

я пишу приложение, в котором пользователь может вычислить некоторые значения и получить из них график.

Я сейчас думаю, что происходит, когда несколько пользователей выполняют запрос на вычисление? Я могу хранить переменные в сессии, но я не уверен, что происходит, когда несколько пользователей одновременно выполняют метод.

Eg. def calc(self,x,y): test = [] test.append(...)

Зависит от используемого хранилища сеансов. Но вкратце, это должно просто работать, потому что сессионное хранилище является per-session (что обычно также переводится как per user). Поэтому при использовании сессий все данные пользователей должны быть разделены.

Однако, имейте в виду, что вы можете получить устаревшее значение (от того же пользователя) из сессии - опять же, в зависимости от используемого бэкенда. Например, это может произойти с бэкендом cookies. -- Если один и тот же пользователь запрашивает конечную точку слишком быстро (например, посылает два запроса до получения ответа и обновляет cookies из последующих ответов), то в итоге вы отправите два ответа с разными данными, и в конечном итоге "победит" только один. Но вы не перепутаете данные между пользователями. Чтобы избежать этой проблемы, не используйте бэкенд cookie (или другой бэкенд без гарантий свежести).

Вернуться на верх