0

我有一個GAE Python應用程序,會話數據存儲在通過webapp2_extras.sessions.get_store(request=self.request)獲得的SessionStore對象中。陳舊的會話存儲與webapp2 GAE的Python

我看到會話持續了幾天,當我不關閉我的瀏覽器,但我發現作爲應用程序的管理員,我無法清除服務器中的過時的SessionStore對象,也就是說,用戶的數據在他或她的瀏覽器關閉後將不再被訪問。

這是在GAE上運行的應用程序中的內存泄漏,還是GAE或WEBAPP2有一些識別過時會話並釋放內存的策略?我無法在GAE/WEBAPP2文檔中找到答案,因此如果您有提供答案的鏈接,那將不勝感激。在幾秒鐘內默認的會話過期時間:

回答

2

您可以配置一個會話存儲的到期時間與webapp2_extras.sessions.default_config

session_max_age。 限制cookie內容的持續時間,即使存在會話 Cookie。如果沒有,則只要Cookie是 有效,內容就會持續。缺省值是None。

現在,如果你要處理的過期自己, 用於識別陳舊的會話可能存儲在cookie或會話的數據的時間戳,並檢查它在每個頁面請求的策略。當您想要結束會話時,請致電self.session.clear()

+0

對不起,我的投票,布倫特。我的初步看法是,這隻會設置cookie的到期時間,尤其是考慮到您的策略建議,我不相信這會起作用,因爲應用程序可能永遠都沒有機會調用clear()。但是在重新閱讀時,看起來您列出的參數確實會在服務器中設置會話超時,因此即使看起來似乎沒有策略評論,也能滿足我原來的要求。不幸的是,我使用了錯誤的投票,除非您對答案進行編輯,否則無法更改。感謝您的幫助,並再次抱歉。 – Lindsay

+0

我澄清了戰略選擇 –