나는 타이어와 함께 ElasticSearch를 사용 중이며 Heroku에서 내 앱을 호스팅하고 있습니다.분재 서버가 고장 났을 때 어떻게해야합니까?
지난 밤, 분재 서버가 고장 났을 때 내 앱이 모두 추락했습니다. 내가 Heroku가 앱을 배포했을 때 은 타이어 연결하고 인덱스를 만들려고하고, 오류를 던졌다, 그래서 나는 unless
문에 모든 모델에서 내 Tire
코드를 이동했다 : 코스 I의
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
Heroku에서 ES_DISABLED
상수를 true
으로 설정하십시오.
앞으로 비슷한 오류가 발생할 수 있습니다. 그들을 피할 수있는 더 좋은 방법이 있습니까?
코드를 배포하거나 앱을 부팅 할 때 색인을 만드는 것이 기본이라고 생각하지 않습니다. 이게 네가 함축 한 것이 아니라고 확신 할 수 있니? – phoet
heroku에 배포하는 동안 문제가 발생합니다. 그래서 아마 heroku 트리거 인덱스를 재생할 수 있습니다. – tomekfranek
@phoet 타이어가 실제로 그것을 수행하지만 연결 문제를 처리하려고 시도합니다 – karmi