3

任何人都知道如何使用GAE跟蹤httpsession銷燬? 我發現HttpSessionListener在GAE中無法正常工作,sessionDestroyed方法從不調用。Google App Engine如何跟蹤httpsession銷燬

更具體地說,我有一個信息,當用戶登錄到應用程序時,我存儲在數據庫中,但是如果某個用戶在一段時間內不活動,我需要從db中刪除此信息,如果sessionDestroyed方法將會很容易當這樣的事件發生時被調用,至此我做了每分鐘運行的cron作業,工作查詢這種類型的所有數據在內存中處理的數據是非活動的並將其刪除。但是這樣做效率很低,我可以通過緩存優化它。但也許這是另一種優雅的方式。

任何想法都熱烈appricated。

回答

3

正如您所看到的,HttpSessionListener不適用於App Engine,所以這是不可能的。部分原因是App Engine應用程序在多臺機器上運行多個實例,因此沒有單個VM可以調用它。按照您所描述的方式運行常規清理腳本是實現此目的的最佳方法,但實際上沒有理由每分鐘運行一次 - 每天幾次應該足夠完美!

+0

是的,我明白爲什麼HttpSessionListener不會在GAE上運行,所以沒有這種可能性。好吧,我想確保我正在做正確的事情。謝謝。 – endryha 2011-01-27 11:00:02