Ben aşağıdaki gibi benim Raylar app kurulum:Raylar üretir: bazı zaman aşımı sonra "PGError sunucusu beklenmedik bağlantıyı kapattı"
- Raylar: 3.0.5 (Apache vekaleten altında) RHEL üzerinde çalışan 5.6
- Postgres: 8.4, Windows Server 2008 üzerinde çalışıyor 2 sunucu aynı LAN üzerindedir.
Sorun Raylar uygulamasına yeni bir talepte zaman, bazı boş zaman sonra, bana aşağıdaki hatayı veriyor: Ben araştırdım kadarıyla
ActiveRecord::StatementInvalid (PGError: server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
Öyle görülüyor ki, Postgres'in bazı zaman aşımlarından sonra veritabanı bağlantıları düşüyor. Bu süre boyunca,
- , Raylar taraftan ben Raylar için başka isteği (2 istek) yaparsanız Rails bir istek (1 istek), bu
- yukarıdaki gibi bağlantı hata görüntüler yaparsanız, Raylar Postgres'e yeniden bağlanıyor ve düzgün çalışıyor gibi görünüyor.
Ben müvekkilime olmayan bir hata yanıtı teslim etmek istediğimizden hep benim durumumda çok ciddi olan yine tüm normal çalışmasını sahip olacak daha sonra ilk bağlantı hatası yaşayacaksınız demektir.
Ben soru ve cevapları aşağıdaki baktım, ama onlar benim durum için uygun görünmüyor:
- "PGError: no connection to the server" after idle (Ubuntu DB sunucusu için)
- How to use tcp_keepalives settings in Postgresql? (MacOS içinde keepalives)
Uygulamamı db bağlantı hatalarından arındırmak için herhangi bir öneriniz var mı? Teşekkür ederim.
Postaku – Salil
ile postgresql kullanırken aynı hatayı alıyorum Bağlantıların gitmesi normaldir. Rails'in çok nazik davranması normal değildir. Veri tabanı sürücünüzün (bağdaştırıcınızın) "doğrula" ve "etkin" işlevlerinin uygulanıp uygulanmadığını kontrol edin. normalde 'ActiveRecord :: ConnectionAdapters :: ConnectionPool', adaptöre havuzdan çıkmadan önce herhangi bir eski bağlantıyı yeniden bağlama şansı verir. Postgres için hangi gem kullanıyorsunuz? – vladr