Pythonロックオブジェクトをビーカーセッションに保存することについて懸念がありますか?

StackOverflow https://stackoverflow.com/questions/2794829

質問

私のウェブサイトには、同じユーザーが連続して2回アクセスできないようにしたい特定のページがあります。これを防ぐために、ロックオブジェクト(Pythonのスレッドライブラリから)を作成する予定です。ただし、セッション全体に保存する必要があります。ロックオブジェクトをセッション(特にビーカーセッション)に保存しようとするときに注意すべきことはありますか?

役に立ちましたか?

解決

セッション(またはシリアル化が必要な他のどこでも)にスレッドを保存することはひどいアイデアであり、おそらくあなたがしようとすると例外が得られるでしょう(そのようなオブジェクトをシリアル化できないので、例えば、それはできません pickled)。プロセスの協力的なシリアル化のための従来のアプローチは ファイルロック (などのディレクトリの「人工」ファイルについて /tmp/locks/<username> あなたが示すように、あなたがロックをユーザーごとにしたい場合)。ウィキペディアのエントリは、一般的な領域を説明するのに良い仕事をしていると思います。 OSを実行しているOSを教えてください。より具体的なものを提案するかもしれません(残念ながら、これにはクロスプラットフォームソリューションがあるとは思いません)。

他のヒント

ロックをロックしてセッションに保存すると2つのステップが必要なため、これはひどい質問であることに気付きました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top