Ganska sent till festen här, men jag fick slut på databasanslutningar idag i produktionen.
Som många andra använder jag Sidekiq för att utföra asynkrona jobb som att skicka e-post till exempel. Det är viktigt att notera att Sidekiq körs som en flertrådsprocess.
Så det gör jag inte bara har en enkeltrådig Rails-applikation, därför gäller detta svar inte direkt frågan som ställs men jag tyckte det var värt att säga något här då jag tycker flertrådiga Rails-appar är relativt normala nuförtiden.
Detta innebär att du måste justera din poolstorlek på ett sådant sätt att du skapar tillräckligt med anslutningar för att hantera alla jobb som kan ställas i kö och ta längre tid än 5 sekunder (standardtiden för att vänta på en databasanslutning innan ett fel uppstår).