Commit a162da019d6f9beb949e7e00d94290bb689d285f
1 parent
873fdd2e
Exists in
master
and in
29 other branches
Fix solr start and stop
Showing
4 changed files
with
12 additions
and
13 deletions
Show diff stats
... | ... | @@ -0,0 +1 @@ |
1 | +require 'postgresql_attachment_fu' | ... | ... |
config/initializers/postgresql_attachment_fu.rb
... | ... | @@ -1 +0,0 @@ |
1 | -require 'postgresql_attachment_fu' |
lib/tasks/test.rake
... | ... | @@ -9,7 +9,6 @@ end |
9 | 9 | task :test do |
10 | 10 | ENV['RAILS_ENV'] = 'test' |
11 | 11 | Rake::Task['solr:stop'].invoke |
12 | - Rake::Task['solr:download'].invoke | |
13 | 12 | Rake::Task['solr:start'].invoke |
14 | 13 | errors = %w(test:units test:functionals test:integration cucumber selenium test:noosfero_plugins).collect do |task| |
15 | 14 | begin | ... | ... |
vendor/plugins/acts_as_solr_reloaded/lib/tasks/solr.rake
... | ... | @@ -11,15 +11,16 @@ namespace :solr do |
11 | 11 | if File.exists?(Rails.root + 'vendor/plugins/acts_as_solr_reloaded/solr/start.jar') |
12 | 12 | puts 'Solr already downloaded.' |
13 | 13 | else |
14 | - cd '/tmp' | |
15 | - sh "wget -c #{SOLR_URL}" | |
16 | - if !File.directory?("/tmp/#{SOLR_DIR}") | |
17 | - sh "tar xzf apache-solr-#{SOLR_VERSION}.tgz" | |
14 | + Dir.chdir '/tmp' do | |
15 | + sh "wget -c #{SOLR_URL}" | |
16 | + if !File.directory?("/tmp/#{SOLR_DIR}") | |
17 | + sh "tar xzf apache-solr-#{SOLR_VERSION}.tgz" | |
18 | + end | |
19 | + cd "apache-solr-#{SOLR_VERSION}/example" | |
20 | + cp_r ['../LICENSE.txt', '../NOTICE.txt', 'README.txt', 'etc', 'lib', 'start.jar', 'webapps', 'work'], Rails.root + 'vendor/plugins/acts_as_solr_reloaded/solr', :verbose => true | |
21 | + cd 'solr' | |
22 | + cp_r ['README.txt', 'bin', 'solr.xml'], Rails.root + 'vendor/plugins/acts_as_solr_reloaded/solr/solr', :verbose => true | |
18 | 23 | end |
19 | - cd "apache-solr-#{SOLR_VERSION}/example" | |
20 | - cp_r ['../LICENSE.txt', '../NOTICE.txt', 'README.txt', 'etc', 'lib', 'start.jar', 'webapps', 'work'], Rails.root + 'vendor/plugins/acts_as_solr_reloaded/solr', :verbose => true | |
21 | - cd 'solr' | |
22 | - cp_r ['README.txt', 'bin', 'solr.xml'], Rails.root + 'vendor/plugins/acts_as_solr_reloaded/solr/solr', :verbose => true | |
23 | 24 | end |
24 | 25 | end |
25 | 26 | |
... | ... | @@ -58,11 +59,11 @@ namespace :solr do |
58 | 59 | exec cmd |
59 | 60 | else |
60 | 61 | pid = fork do |
62 | + Process.setpgrp | |
61 | 63 | STDERR.close |
62 | 64 | exec cmd |
63 | 65 | end |
64 | 66 | end |
65 | - sleep(5) | |
66 | 67 | File.open(SOLR_PID_FILE, "w"){ |f| f << pid} unless windows |
67 | 68 | puts "#{ENV['RAILS_ENV']} Solr started successfully on #{SOLR_HOST}:#{SOLR_PORT}, pid: #{pid}." |
68 | 69 | end |
... | ... | @@ -78,14 +79,13 @@ namespace :solr do |
78 | 79 | File.open(SOLR_PID_FILE, "r") do |f| |
79 | 80 | pid = f.readline |
80 | 81 | begin |
81 | - Process.kill('TERM', pid.to_i) | |
82 | + Process.kill('TERM', -pid.to_i) | |
82 | 83 | killed = true |
83 | 84 | rescue |
84 | 85 | puts "Solr could not be found at pid #{pid.to_i}. Removing pid file." |
85 | 86 | end |
86 | 87 | end |
87 | 88 | File.unlink(SOLR_PID_FILE) |
88 | - Rake::Task["solr:destroy_index"].invoke if ENV['RAILS_ENV'] == 'test' | |
89 | 89 | puts "Solr shutdown successfully." if killed |
90 | 90 | else |
91 | 91 | puts "PID file not found at #{SOLR_PID_FILE}. Either Solr is not running or no PID file was written." | ... | ... |