检查 cherrypy 会话数据的年龄

Check age of cherrypy sessions data

我有一个使用 Cherrpy 的网站,它从数据库中获取一些数据并使用会话保存它。但是,这会增加数据未更改时的页面加载时间。有没有一种方法可以检查会话数据的保存时间,并且仅在保存时间超过 30 秒后才再次获取数据?

machines = getInfo.getMachines()
cherrypy.session['machines'] = json.dumps(machines)

我找到了 Cherrypy 的会话超时设置,但由于它是以分钟计算的,对我来说太长了。

如果您使用几分之一分钟,它会起作用:

class SessionEnabledRoot:
    """Example session enabled root node."""

    _cp_config = {
        'tools.sessions.on': True,
        'tools.sessions.timeout': 0.5,  # <-- Half of a minute
    }

    def index(self):
        """Handle queries against ``/``."""
        return "Hello from /"

    def hi(self):
        """Handle queries against ``/hi``."""
        return "Hello from /hi"

    def default(self):
        """Handle queries against ``/{{ anything }}``."""
        return "Hello from catch-all"


def main():
    """Initialize a web app and run a web server."""
    cherrypy.quickstart(SessionEnabledRoot())


__name__ == '__main__' and main()