このエラーには別の潜在的な理由があります。それは、ActiveRecord接続プール刈り取り 。有効にすると、リーパーは接続プールをスキャンして「デッド」接続を探し、それらを閉じます。私のテストでは、それは熱心すぎるように見え、完全に生きている接続も閉じます(通常、わずかに大きなクエリを実行している接続)。
reaping_frequency
をクリアしてみてください DB構成(オフにします)から、それが役立つかどうかを確認します。コードベースでその文字列をスキャンし、設定されていない(または単に削除されている)ことを確認します。 config['reaping_frequency'] = ENV['DB_REAP_FREQ'] || 10
、|| 10
実際には10秒の低いデフォルトを設定しています。このパターンは、変更が元に戻されるまで
、しばらくの間Railsコードベースに含まれていました。 長時間実行されるクエリの強制終了
など、さまざまな問題が発生するためです。 、ただし、Herokuが推奨
です。 。
リーパーを無効にすると問題が解決する場合は、無効のままにしておくことをお勧めします。 Railsはデフォルトで設定しなくなり、解決するよりも多くの問題を引き起こすようです。
私はあなたのようなエラーがありました、そしてそれは私がそれを修正した方法でした。個人的には、無効にしています。特定の問題については、ブログ 。