1

beakers WSGI SessionMiddlewareブラウザとアプリケーション間のセッションを管理するために使用しています。それ以降のリクエストに対してセッションが最初にアクセスされたときを区別しようとしています。

docs から、WSGI 環境で使用できる 2 つの有用な値が表示されます ["beaker.session"].last_accessed["beaker.session"]["_accessed_time"]

ただし、リクエストが繰り返されると、["beaker.session"].last_accessedは常に を返しますがNone、 のタイムスタンプ値は["beaker.session"]["_accessed_time"]リクエストごとに増加していることがわかります。

各リクエストは a -セッションで["beaker.session"].save()の設定と使用のさまざまな組み合わせを試しましたが、喜びはありません: は常にです。auto=True.save() / .persist().last_accessedNone

セッションを使用して実際にデータを永続化するのではなく、の作成と通過を管理するためだけsession.idです。(「Cookie」のセッションタイプを使用しています)

4

1 に答える 1

1

この動作は、Apache を介したマルチプロセッシングに起因することが判明しました。

外部ストアを使用して、セッション ID が最初に表示されたときの追跡を管理し、独自の「last_accessed_time」などを維持することで解決しました。

于 2012-12-07T11:49:50.553 に答える