Ret sent til festen her, men jeg løb tør for databaseforbindelser i dag i produktionen.
Som mange andre bruger jeg Sidekiq til at udføre asynkrone opgaver som at sende e-mails for eksempel. Det er vigtigt at bemærke, at Sidekiq kører som en multitrådsproces.
Så det gør jeg ikke bare har en single-threaded Rails-applikation, derfor gælder dette svar ikke direkte for det stillede spørgsmål, men jeg tænkte, at det var værd at sige noget her, da jeg synes, multi-threaded Rails-apps er relativt normale nu til dags.
Dette betyder, at du skal justere din puljestørrelse på en sådan måde, at der oprettes nok forbindelser til at håndtere alle de job, der kan sættes i kø og tage længere tid end 5 sekunder (standard timeout-periode for at vente på en databaseforbindelse, før der opstår en fejl).