1 つの resque バックグラウンド ワーカーが実行されている heroku にデプロイされた Rails プロジェクトがあります。ワーカーがジョブを処理するたびに、データベース接続は閉じる前に 90 秒間開いたままになります (ジョブの処理には数秒 (2 または 3) かかります)。処理するジョブが多数ある場合、使用可能なデータベース接続がすぐに不足してしまいます。私の環境は次のとおりです。
- レール 3.2.13
- 15 の利用可能な接続を持つ ClearDB mysql データベース
- 2 つの Web dyno
- resque を使用する 1 つのワーカー dyno
- Unicorn (dyno ごとに 2 プロセス、タイムアウトを 60 に設定)
- イニシャライザで、接続プールを 2 に設定し、リーピング頻度を 5 に設定しました
- ニューレリック (3.6.2.96)
newrelicが接続を取得して適切に閉じていない可能性があるという別の投稿を見つけました(UnicornとRailsは2倍のMySQL接続を消費します)が、提案を試してみましたが、違いはありませんでした。
誰かが同様の問題を抱えていましたか?