sql >> Databasteknik >  >> RDS >> Mysql

ActiveRecord::ConnectionTimeoutError:kunde inte få en databasanslutning inom 5 000 sekunder (väntade 5 000 sekunder)

Jag hade samma problem som orsakades av för många öppna anslutningar till databasen. Detta kan hända när du har databasfrågor utanför en styrenhet (i en modell, mailer, pdf-generator, ...).

Jag skulle kunna fixa det genom att lägga in dessa frågor i det här blocket som stänger anslutningen automatiskt.

ActiveRecord::Base.connection_pool.with_connection do
  # your code
end

Eftersom Puma fungerar flertrådigt kan poolstorleken (som eabraham nämnde) också vara en begränsning. Försök att öka den (lite)...

Jag hoppas att detta hjälper!



  1. Använder Dapper med Oracle

  2. Hur kan jag göra HTTP-förfrågan från SQL-servern?

  3. Hur man beräknar skillnaden mellan två datum i MySQL

  4. Hur man kör en Oracle-lagrad procedur via en databaslänk