Google App Engine, как отслеживать разрушение httpsession - PullRequest
3 голосов
/ 26 января 2011

Кто-нибудь знает, как отследить разрушение httpsession с помощью GAE?Я обнаружил, что HttpSessionListener не работает должным образом в GAE, и метод sessionDestroyed никогда не вызывает.

Точнее говоря, у меня есть информация, которую я храню в базе данных при входе пользователя в приложение, но если какой-то пользовательВ течение некоторого времени я неактивен, и мне нужно удалить эту информацию из базы данных. Это будет легко, если при возникновении такого события будет вызываться метод sessionDestroyed, поскольку на данный момент я выполнил задание cron, которое выполняется каждую минуту, задание обрабатывает все данные такого рода,память, какие данные неактивны и удаляет их.Но это очень неэффективный способ сделать это, я могу оптимизировать его с помощью кеша.Но, может быть, это какой-то другой элегантный способ.

Любые мысли горячо приветствуются.

1 Ответ

3 голосов
/ 27 января 2011

Как вы заметили, HttpSessionListener не работает в App Engine, поэтому это невозможно. Отчасти это связано с тем, что приложения App Engine запускают несколько экземпляров на нескольких компьютерах, поэтому нет единой виртуальной машины, чтобы вызывать это. Выполнение обычного сценария очистки, как вы описываете, является лучшим способом сделать это, хотя на самом деле нет причин запускать его каждую минуту - пару раз в день должно быть вполне достаточно!

...