如何确定CherryPy会话的当前数量?

时间:2012-08-02 17:47:34

标签: session cherrypy

我找到了旧版CherryPy的代码:

len(cherrypy.session.cache)

http://tools.cherrypy.org/wiki/ActiveSessionCount

但这不再适用于CherryPy 3.2.2。

错误=> AttributeError:'FileSession'对象没有属性'cache'

提前致谢!

1 个答案:

答案 0 :(得分:1)

好的,因为我将会话数据存储在文件系统中,所以需要以不同的方式获取会话数。基本上每个用户都会根据我的配置设置在我的应用程序的会话文件夹中创建一个文件...

tools.sessions.on = True
tools.sessions.storage_type = 'file'
tools.sessions.storage_path = 'sessions'

所以我只需要计算sessions文件夹中的文件数量。我通过以下代码完成此任务:

NumberOfSessions=len([FileName for FileName in os.listdir(os.path.abspath(os.path.dirname('sessions')) + '/sessions') if not '.lock' in FileName and os.path.isfile(os.path.abspath(os.path.dirname('sessions')) + '/sessions/' + FileName)])

[此代码排除带有* .lock扩展名的文件,否则会话可能会被计算两次]

安德鲁