このブログをご覧のみなさん、こんにちは。
Split を採用して仮稼働している最中、Redis が落ちていたために Rails がエラーになってしまいました。 本番で発生すると一大事なので、回避策を探したところ見つかったので、備忘録として残しておきます。
Split で Redis が落ちていてもエラーにしない
以下の設定をすると、Redis が落ちていてもエラーになりません。選択肢は ab_test
の第二引数(=一番最初の選択肢)になります。
# config/initializers/split.rb
Split.configure do |config|
config.db_failover = true # handle redis errors gracefully
end
以下の設定にすると、Redis が落ちているとログが出力されます。
# config/initializers/split.rb
Split.configure do |config|
config.db_failover = true # handle redis errors gracefully
config.db_failover_on_db_error = proc{|error| Rails.logger.error(error.message) }
end