我正在将 ElasticSearch 与 Tire 一起使用,并将我的应用程序托管在 Heroku 上。
昨晚,当盆景服务器关闭时,我的整个应用程序崩溃了。当我尝试将应用程序部署到 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。
我想为将来类似的错误做好准备。有没有更好的方法来避免它们?