-
-
Save westonplatter/fcb42d290d4f002fd732 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
namespace :deploy do | |
before :updated, :setup_solr_data_dir do | |
on roles(:app) do | |
unless test "[ -d #{shared_path}/solr/data ]" | |
execute :mkdir, "-p #{shared_path}/solr/data" | |
end | |
end | |
end | |
end | |
namespace :solr do | |
%w[start stop].each do |command| | |
desc "#{command} solr" | |
task command do | |
on roles(:app) do | |
solr_pid = "#{shared_path}/pids/sunspot-solr.pid" | |
if command == "start" or (test "[ -f #{solr_pid} ]" and test "kill -0 $( cat #{solr_pid} )") | |
within current_path do | |
with rails_env: fetch(:rails_env, 'production') do | |
execute :bundle, 'exec', 'sunspot-solr', command, "--port=8983 --data-directory=#{shared_path}/solr/data --pid-dir=#{shared_path}/pids" | |
end | |
end | |
end | |
end | |
end | |
end | |
desc "restart solr" | |
task :restart do | |
invoke 'solr:stop' | |
invoke 'solr:start' | |
end | |
after 'deploy:finished', 'solr:restart' | |
desc "reindex the whole solr database" | |
task :reindex do | |
invoke 'solr:stop' | |
on roles(:app) do | |
execute :rm, "-rf #{shared_path}/solr/data" | |
end | |
invoke 'solr:start' | |
on roles(:app) do | |
within current_path do | |
with rails_env: fetch(:rails_env, 'production') do | |
info "Reindexing Solr database" | |
execute :bundle, 'exec', :rake, 'sunspot:solr:reindex[,,true]' | |
end | |
end | |
end | |
end | |
end | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment