在GAE for Python中使用webapp2过时的会话存储

时间:2016-02-23 22:04:03

标签: google-app-engine session webapp2 google-app-engine-python

我有一个GAE Python应用程序,它将会话数据存储在通过webapp2_extras.sessions.get_store(request=self.request)获得的SessionStore对象中。

我已经看到会话持续了好几天我没有关闭浏览器,但我发现作为应用程序的管理员,我无法清除服务器中陈旧的SessionStore对象,即当用户的数据在他或她的浏览器关闭后永远不会被访问时。

这是我在GAE上运行的应用程序中的内存泄漏,还是GAE或WEBAPP2有一些识别陈旧会话和释放内存的策略?我无法在GAE / WEBAPP2文档中找到答案,因此如果您有提供答案的链接,那将不胜感激。

1 个答案:

答案 0 :(得分:2)

您可以使用webapp2_extras.sessions.default_config配置会话商店的到期时间:

  

session_max_age :默认会话到期时间(以秒为单位)。   限制cookie内容的持续时间,即使是会话也是如此   cookie存在。如果为None,则只要cookie存在,内容就会持续   有效。默认值为“无”。

现在,如果你想自己处理过期, 识别陈旧会话的策略可能是在cookie或会话数据中存储时间戳,并在每个页面请求上进行检查。如果您希望会话到期,请致电self.session.clear()