Tôi đang chạy Django 1.3 với PostgreSQL 9.1/PostGIS 1.5, psycopg2 2.4.2 và pgbouncer 1.4.2.pgbouncer - đóng vì: máy chủ không sạch trên mọi kết nối
Trên mỗi kết nối duy nhất để cơ sở dữ liệu tôi nhận được một bản ghi trong pgbouncer.log:
2011-11-20 02: 15: 25,027 29.538 LOG S-0x96c2200: app_db/[email protected] : 5432 đóng vì: máy chủ không sạch (tuổi = 0).
Tôi không thể tìm thấy giải pháp nào cho vấn đề này - bất kỳ ai cũng có ý tưởng tại sao? Tôi đã cố gắng cấu hình lại pgbouncer (chế độ phiên/giao dịch, thời gian chờ khác nhau, vv), nhưng không có kết quả.
Ok chỉ phát hiện ra một cách khó khăn, CẢNH BÁO: không chỉ làm điều này nếu bạn sử dụng cần tây (hoặc cái gì khác) để xử lý tác vụ nền. Có thể sẽ có các điều kiện chủng tộc trong đó bạn chuyển khóa chính của một đối tượng đến một tác vụ đang chạy không đồng bộ. Nhiệm vụ có thể bắt đầu chạy trước khi yêu cầu được hoàn thành (và giao dịch đã cam kết), do đó nhiệm vụ không thể tìm thấy đối tượng. Tôi nghĩ giải pháp duy nhất cho việc này là quản lý giao dịch thủ công. – Dick
Chỉ cần một lưu ý để nói cảm ơn vì liên kết đến bài trình bày của tôi ... Tôi rất vui vì nó hữu ích! :) – Christophe
Tất nhiên! Đó là một bài thuyết trình tuyệt vời; Tôi tìm thấy nó tuyệt vời mà rất ít được biết về quản lý giao dịch 'bị hỏng' ở Django. – Dick