Очистить весь сеанс веб-приложения Django при перезагрузке сервера - PullRequest
0 голосов
/ 17 сентября 2018

Я столкнулся с проблемой нижеприведенного сценария, где мне нужно очистить все сеансы в моем приложении django с примененными условиями.

  1. Невозможно использовать cron
  2. JavaScript веб-приложения запрашивает серверный api в минуту для проверки работоспособности, активен сервер или нет
  3. После завершения статуса off webapp автоматически выходит из системы и очищает сеанс текущего пользователя.
  4. Проблема в том, что я хочу очистить сеанс всех пользователей
  5. Может возникнуть ситуация, когда вошел только один пользователь, другие сеансы активны, но не в веб-браузере (это означает, что они недавно закрыли вкладку)
  6. Другая ситуация - только один сеанс, но он простаивает (закрытая вкладка)

Теперь, как я могу побить все сеансы

Две вещи, которые я придумал:

  1. Прочитать последнее PID и сохранить его в дБ, всякий раз, когда какой-либо пользователь нажимает URL, он будет перепроверять PID и очищать все сеансы в случае несовпадения PID (Не уверен, что * PID может быть таким же после перезапуска)
  2. Событие перезапуска сервера должно прослушиваться и завершать все сеансы (не знаю, как реализовать, SIGHUP вид событий)

Архитектура проекта:

  • Linux
  • Python2.7 (Джанго)
  • Nginx

Любые другие предложения, пожалуйста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...