私は Tire で ElasticSearch を使用しており、Heroku でアプリをホストしています。
昨夜、bonsai サーバーがダウンしたとき、私のアプリ全体がクラッシュしました。アプリを Heroku にデプロイしようとしたとき、Tire が接続してインデックスを作成しようとしたところエラーが発生したため、Tire
コードをすべてのモデルからunless
ステートメントに移動する必要がありました。
unless ENV['ES_DISABLED']
# Elastic Search
#
include Tire::Model::Search
include Tire::Model::Callbacks
index_name INDEX_NAME
tire.mapping do
indexes :id, :type => 'string', :index => :not_analyzed
indexes :content, analyzer: 'snowball', boost: 100
end
end
もちろん、ES_DISABLED
定数true
は Heroku に設定しています。
今後同様のエラーに備えたいと思います。それらを回避するより良い方法はありますか?