私はPostgreSQL 9.1/PostGIS 1.5、psycopg2 2.4.2、pgbouncer 1.4.2でDjango 1.3を実行しています。pgbouncer - 閉じる理由:すべての接続で汚れたサーバ
2011-11-20 02:15:25.027 29538 LOGのS-0x96c2200:私はpgbouncer.logでログエントリを取得し、データベースへのすべての単一の接続で
app_db/[email protected] :5432クローズのため:不正なサーバー(年齢= 0)。
私はこの問題の解決策を見つけることができません - なぜ誰かがアイデアを持っていますか?私はpgbouncer(セッション/トランザクションモード、別のタイムアウトなど)を再設定しようとしましたが、無駄です。
ちょうどいい方法を見つけました。警告:バックグラウンドタスク処理にセロリなどを使用している場合は、これを行わないでください。非同期で実行されているタスクにオブジェクトの主キーを渡す競合状態が発生する可能性があります。要求が完了する前(およびトランザクションがコミットされる)にタスクが実行され、タスクがオブジェクトを見つけることができません。私はこれに対する唯一の解決策は手動トランザクション管理だと思います。 – Dick
私のプレゼンテーションにリンクしてくれてありがとうというだけのメモ...私は役に立つとうれしいです! :) – Christophe
もちろん!素晴らしいプレゼンテーションでした。 Djangoのトランザクション管理が「壊れている」ことはほとんど知られていないことがわかりました。 – Dick