我正在使用思考狮身人面像进行搜索。它搜索正确但问题是每当我添加新记录时我都要做rake thinking_sphinx:index manual.So自动运行它我每次使用时都会使用cron但仍然它不会自动发生,要么我必须做
rake thinking_sphinx:index
或
每当-w自动创建索引
以下是config / schedule.rb的代码:
every 10.minutes do
rake "thinking_sphinx:index", :environment => :development
end
every :reboot do
rake "thinking_sphinx:start",:environment => :development
end
当我做crontab时 - 我得到以下内容:
# Begin Whenever generated tasks for: store
@reboot /bin/bash -l -c 'cd /home/user/newsvn/alumnicell && RAILS_ENV=development bundle exec rake thinking_sphinx:start --silent'
0,10,20,30,40,50 * * * * /bin/bash -l -c 'cd /home/user/newsvn/alumnicell && RAILS_ENV=development bundle exec rake thinking_sphinx:index --silent'
# End Whenever generated tasks for: store
这不起作用的问题是什么?在哪里?
我也将环境改为开发。默认情况下是生产。这两种情况有什么区别?
答案 0 :(得分:0)
您可以指定日志文件来跟踪错误,然后在此处发布。
我还建议全局设置:environment
。
试试这段代码:
set :environment, :development
set :output, 'tmp/whenever.log'
every 10.minutes do
rake "thinking_sphinx:index"
end
every :reboot do
rake "thinking_sphinx:start"
end
答案 1 :(得分:0)
我会建议你使用思考sphinx的delta索引,而不是每当cron作业每10分钟重建一次思考sphinx时使用。
正如描述here所示,您只需在模型中添加一个布尔列delta
,在set_property :delta => true
块中设置define_index
并运行rake ts:rebuild
就是这样。