1

古いバージョンの CherryPy のコードを見つけました。

len(cherrypy.session.cache)

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

しかし、これは CherryPy 3.2.2 では機能しなくなりました。

エラー => AttributeError: 'FileSession' オブジェクトに属性 'cache' がありません

前もって感謝します!

4

1 に答える 1

1

セッション データをファイル システムに保存しているので、別の方法でセッション数を取得する必要がありました。基本的に、ユーザーごとに、構成設定に基づいてアプリケーションのセッションフォルダーにファイルが作成されます...

tools.sessions.on = True
tools.sessions.storage_type = 'file'
tools.sessions.storage_path = '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 のファイルを除外します。そうしないと、セッションが 2 回カウントされる可能性があります]

アンドリュー

于 2012-08-10T18:47:49.547 に答える