非同期バックグラウンド プロセスとしてモデルの再インデックスを実行するために、sunspot を遅延ジョブと組み合わせて使用しています。モデルの更新の場合、次の理由により、これは正常に機能しますhandle_asynchronously :solr_index, :queue => 'solr_index'
。
ただし、モデル内の検索可能なブロック (モデル A と呼びましょう) は、関連付けられたモデル (B) の属性も参照します。B には多くの As があります。関連付けられたモデルがユーザーによって更新されると、B の after_save コールバック内で次のように再インデックスをトリガーしますSunspot.index(self.my_many_As)
。インデックスの再作成は成功しますが、遅延ジョブとして実行されません。どうすればそれを達成できますか?
助言がありますか?