sql >> Databáze >  >> RDS >> Mysql

ActiveRecord::ConnectionTimeoutError:nepodařilo se získat připojení k databázi během 5 000 sekund (čekalo se 5 000 sekund)

Měl jsem stejné problémy, které byly způsobeny příliš mnoha otevřenými připojeními k databázi. To se může stát, když máte databázové dotazy mimo řadič (v modelu, maileru, generátoru pdf, ...).

Mohl bych to opravit zabalením těchto dotazů do tohoto bloku, který automaticky uzavře spojení.

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

Vzhledem k tomu, že Puma pracuje s více vlákny, velikost bazénu (jak zmínil eabraham) může být také omezením. Zkuste to (trochu) zvýšit...

Doufám, že to pomůže!



  1. 5 výkonných funkcí Microsoft Access

  2. Existuje způsob, jak vytvořit více spouštěčů v jednom skriptu?

  3. Jaký je rozdíl mezi Scope_Identity(), Identity(), @@Identity a Ident_Current()?

  4. Jak CHR() funguje v MariaDB