2011-01-10 4 views
2

Я работаю над проектом Django 1.2.3, и я нахожу, что сеанс администратора кажется таймаутом очень рано, примерно через минуту после входа в систему, даже когда я его использую.Ранняя регистрация администратора Django

Изначально я имел следующие параметры:

SESSION_COOKIE_AGE=1800 
SESSION_EXPIRE_AT_BROWSER_CLOSE=True 

Я думал, что проблема может быть мое хранение сессии неправильно настроено, поэтому я попытался настройки моей сессии будет храниться в локальной памяти, добавив:

SESSION_ENGINE = "django.contrib.sessions.backends.cache" 
CACHE_BACKEND = 'locmem://' 

Однако проблема все еще возникает. Есть ли что-то еще, что может привести к тому, что сеансы администратора будут отключены раньше, даже когда пользователь активен?

ответ

3

Сеансы кэширования в locmem: // означает, что вы теряете сеанс всякий раз, когда перезагружается процесс python. Если вы работаете под сервером dev, это будет в любое время, когда вы сохраните файл. В производственной среде, которая будет зависеть от вашей инфраструктуры - mod_wsgi в apache, например, перезапустит python после определенного количества запросов (что очень настраивается). Если у вас несколько настроенных процессов python, вы потеряете сессию всякий раз, когда ваш запрос переходит к другому процессу.

Более того, если в рабочей среде имеется несколько серверов, locmem: // будет ссылаться только на один серверный процесс.

Другими словами, не используйте locmem: // для хранения сеанса.

Смежные вопросы