概要
RailsでElasticsearchを使いたくてChewyを入れたが、Elasticsearchが落ちているとupdate_indexができなくなるので対応した
前提
ActiveJob(Sidekiq)が動いていること
Tips
- リクエスト側はデフォルトストラテジがatomicになっている
対応
config/application.rb
Chewy.request_strategy = :active_job
config/sidekiq.yml
:queues:
- default
- chewy
queuesにchewyを追加する
結果
ActiveJob側で接続が失敗するのでとりあえず動くようにはなる
Elasticsearchへの同期は失敗しているが、復帰すればActiveJobがリトライしてくれるはず