Я получил ответ
# ferret_index.rake
desc "Updates the ferret index for the application."
task :ferret_index => [ :environment ] do | t |
MyModel.rebuild_index
# here I could add other model index rebuilds
puts "Completed Ferret Index Rebuild"
end
Эта задача упрощена: я говорю ей перестраивать весь индекс каждый час. Я предполагаю, что когда мой набор данных станет достаточно большим, это будет очень медленно. В этом случае мне нужно будет отследить все экземпляры модели, которые были обновлены за последний час, и просто проиндексировать их.
Наконец, мне понадобилось задание cron для запуска задачи rake, чтобы убедиться, что для среды установлено «production»:
cd /rails_app && rake ferret_index RAILS_ENV=production