2010-11-30 8 views
1

ファイルシステムのバックエンドでdjangoセッションを使用します。私はSESSION_EXPIRE_AT_BROWSER_CLOSEをTrueに設定しました。ブラウザが終了すると、私の現在のセッションは無効になります。しかし、作成されたセッションファイルは残っています。Djangoで非アクティブなセッションファイルを見つける

すべての無効/無効なファイルを削除します。どのようにこれらのファイルを見つけることができますか?

答えて

1

この設定は、ブラウザが閉じられた後にクッキー(クライアント側!)が削除されることに注意してください。サーバー上のセッションは、期限が切れるまで残ります。

セッションは、Djangoサイトのデータベースバックエンドに格納されます。開いているセッションをすべてクリアするには、Clearing the session tableをチェックしてください。

1

あなたはこのファイルを削除するための

python manage.py cleanup 

を使用することを検討することができます。

+0

DBセッションでのみ動作します。 – dkamins

+0

yeppです。memcacheを週に1回再起動することをお勧めします。ああ、待って...ファイルベースのセッションもあります...誰も実際にそれらを使用していますか? – DataGreed

+0

はい、人々はファイルベースのセッションを使用します。彼らは設定するのが最も簡単なセッションバックエンドです。 – dkamins

1

これを処理する方法は、Django 1.5以降では、django-admin.pyとmanage.pyの新しい "clearsessions"コマンドを使用することです。 "クリーンアップ"コマンドは実行しなかったファイルベースのセッションをクリアします。使用例として、あなたが定期的に実行するcronジョブを設定できます。

django-admin.py clearsessions 

(cronジョブがDJANGO_SETTINGS_MODULE環境変数にアクセスできることを確認してください)

の詳細については、the docsを参照してください。

関連する問題