lib/thinking_sphinx/tasks.rb in hawkerb-thinking-sphinx-1.3.16 vs lib/thinking_sphinx/tasks.rb in hawkerb-thinking-sphinx-1.3.17
- old
+ new
@@ -45,10 +45,20 @@
puts "searchd is not running"
else
config = ThinkingSphinx::Configuration.instance
pid = sphinx_pid
config.controller.stop
- puts "Stopped search daemon (pid #{pid})."
+ begin
+ Timeout.timeout 5 do
+ while sphinx_running?
+ sleep 0.01
+ end
+ end
+ rescue Timeout::Error
+ puts "Could not stop sphinx (pid #{pid})!"
+ else
+ puts "Stopped search daemon (pid #{pid})."
+ end
end
end
desc "Restart Sphinx"
task :restart => [:app_env, :stop, :start]