Mysql
 sql >> Datenbank >  >> RDS >> Mysql

ActiveRecord::ConnectionTimeoutError:konnte keine Datenbankverbindung innerhalb von 5.000 Sekunden herstellen (wartete 5.000 Sekunden)

Ich hatte die gleichen Probleme, die durch zu viele offene Verbindungen zur Datenbank verursacht wurden. Dies kann passieren, wenn Sie Datenbankabfragen außerhalb eines Controllers haben (in einem Modell, Mailer, PDF-Generator, ...).

Ich könnte es beheben, indem ich diese Abfragen in diesen Block einschließe, der die Verbindung automatisch schließt.

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

Da Puma multi-threaded arbeitet, kann auch die Pool-Größe (wie von eabraham erwähnt) eine Einschränkung darstellen. Versuchen Sie, ihn (ein wenig) zu erhöhen...

Ich hoffe, das hilft!