Mam aplikację Rails z bazą Postgres pod AWS RDS z architekturą multi-az. Architektura HA używana przez RDS to master/slave i zapewniają one usługę z jednym punktem końcowym, który wskazuje bieżący wzorzec.Rails Ponowne połączenie PostgreSQL po przełączeniu awaryjnym dla RDS
Ilekroć nastąpi przełączenie awaryjne bazy danych, Active Record będzie nadal próbował połączyć się z tym samym serwerem, zamiast ponawiać próbę połączenia w celu pobrania nowego adresu IP dla wzorca.
Czy istnieje sposób na utworzenie "globalnego" systemu ratunkowego dla błędu ActiveRecord::StatementInvalid: PG::ConnectionBad: PQsocket() can't get socket descriptor
, który po prostu uruchamia ActiveRecord::Base.connection_pool.disconnect!
, który spowoduje, że następne zapytanie zadziała?