ActiveRecordで不足しているデータベース接続を自動的に処理しますか?
-
06-07-2019 - |
質問
今日のAmazonのリレーショナルデータベースサービスの立ち上げと、その「強制」メンテナンスウィンドウRailsで不足しているデータベース接続を処理するためのソリューションがあれば。
理想的には、データベース接続が失われた場合(つまり、Amazonがメンテナンスを行っている場合)、訪問者にメンテナンスページを自動的に表示できるようにしたいと考えています。
乾杯 アルフォン
解決
これを行うには、ラックミドルウェアを使用します。
class RescueFromNoDB < Struct.new(:app)
def call(env)
app.call(env)
rescue Mysql::Error => e
if e.message =~ /Can't connect to/
[500, {"Content-Type" => "text/plain"}, ["Can't get to the DB server right now."]]
else
raise
end
end
end
明らかに、エラーメッセージをカスタマイズできます。また、 e.message =〜/ Ca n't connect //
ビットは単なる妄想かもしれません。他のほとんどのSQLエラーは内でキャッチされるはずです。 ActionController :: Dispatcher
。
所属していません StackOverflow