Commit 900e9a99e11171c2d2f5435c635a5e70e7c1eefe
1 parent
bf1bc5a8
Exists in
master
and in
22 other branches
ActionItem392: updating startup scripts
git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@2006 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing
3 changed files
with
2 additions
and
100 deletions
Show diff stats
script/ferret_start
| @@ -1,72 +0,0 @@ | @@ -1,72 +0,0 @@ | ||
| 1 | -#!/usr/bin/env ruby | ||
| 2 | -# Ferret DRb server launcher script | ||
| 3 | -# | ||
| 4 | -# Place doc/ferret_server.yml into RAILS_ROOT/config and fit to taste. Start | ||
| 5 | -# it with RAILS_ENV set to the desired environment. | ||
| 6 | -# | ||
| 7 | -# | ||
| 8 | -# To run the demo project's unit tests against the drb server, start it with | ||
| 9 | -# | ||
| 10 | -# RAILS_ENV=test script/ferret_start | ||
| 11 | -# | ||
| 12 | -# and run your tests with the AAF_REMOTE environment variable set to a | ||
| 13 | -# non-empty value: | ||
| 14 | -# | ||
| 15 | -# AAF_REMOTE=true rake | ||
| 16 | -# | ||
| 17 | -# The server writes a log file in log/ferret_server.log, it's | ||
| 18 | -# STDOUT gets redirected to log/ferret_server.out | ||
| 19 | - | ||
| 20 | -ENV['FERRET_USE_LOCAL_INDEX'] = 'true' | ||
| 21 | -require File.dirname(__FILE__) + '/../config/boot' | ||
| 22 | -require RAILS_ROOT + '/config/environment' | ||
| 23 | - | ||
| 24 | - | ||
| 25 | -config = ActsAsFerret::Remote::Config.load | ||
| 26 | -@pid_file = config['pid_file'] | ||
| 27 | - | ||
| 28 | -def write_pid_file | ||
| 29 | - raise "No PID file defined" if @pid_file.blank? | ||
| 30 | - open(@pid_file,"w") {|f| f.write(Process.pid) } | ||
| 31 | -end | ||
| 32 | - | ||
| 33 | -def safefork | ||
| 34 | - tryagain = true | ||
| 35 | - | ||
| 36 | - while tryagain | ||
| 37 | - tryagain = false | ||
| 38 | - begin | ||
| 39 | - if pid = fork | ||
| 40 | - return pid | ||
| 41 | - end | ||
| 42 | - rescue Errno::EWOULDBLOCK | ||
| 43 | - sleep 5 | ||
| 44 | - tryagain = true | ||
| 45 | - end | ||
| 46 | - end | ||
| 47 | -end | ||
| 48 | - | ||
| 49 | -safefork and exit | ||
| 50 | -at_exit do | ||
| 51 | - File.unlink(@pid_file) if @pid_file && File.exists?(@pid_file) && File.read(@pid_file).to_i == Process.pid | ||
| 52 | -end | ||
| 53 | -print "Starting ferret DRb server..." | ||
| 54 | -trap("TERM") { exit(0) } | ||
| 55 | -sess_id = Process.setsid | ||
| 56 | - | ||
| 57 | - | ||
| 58 | -begin | ||
| 59 | - ActsAsFerret::Remote::Server.start | ||
| 60 | - write_pid_file | ||
| 61 | - puts "Done." | ||
| 62 | - STDIN.reopen "/dev/null" # Free file descriptors and | ||
| 63 | - STDOUT.reopen "#{RAILS_ROOT}/log/ferret_server.out", "a" # point them somewhere sensible | ||
| 64 | - STDERR.reopen STDOUT # STDOUT/STDERR should go to a logfile | ||
| 65 | -rescue | ||
| 66 | - $stderr.puts "Error starting ferret DRb server: #{$!}" | ||
| 67 | - $stderr.puts $!.backtrace | ||
| 68 | - exit(1) | ||
| 69 | -end | ||
| 70 | -DRb.thread.join | ||
| 71 | - | ||
| 72 | -# vim:set filetype=ruby: |
script/ferret_stop
| @@ -1,26 +0,0 @@ | @@ -1,26 +0,0 @@ | ||
| 1 | -#!/usr/bin/env script/runner | ||
| 2 | - | ||
| 3 | -config = ActsAsFerret::Remote::Config.load | ||
| 4 | - | ||
| 5 | -def send_signal(signal, pid_file) | ||
| 6 | - pid = open(pid_file).read.to_i | ||
| 7 | - print "Sending #{signal} to ferret_server with PID #{pid}..." | ||
| 8 | - begin | ||
| 9 | - Process.kill(signal, pid) | ||
| 10 | - rescue Errno::ESRCH | ||
| 11 | - puts "Process does not exist. Not running. Removing stale pid file anyway." | ||
| 12 | - File.unlink(pid_file) | ||
| 13 | - end | ||
| 14 | - | ||
| 15 | - puts "Done." | ||
| 16 | -end | ||
| 17 | - | ||
| 18 | -pid_file = config['pid_file'] | ||
| 19 | -puts "Stopping ferret_server..." | ||
| 20 | -if File.file?(pid_file) | ||
| 21 | - send_signal("TERM", pid_file) | ||
| 22 | -else | ||
| 23 | - puts "no pid file found" | ||
| 24 | -end | ||
| 25 | - | ||
| 26 | -# vim:set filetype=ruby: |
script/production
| @@ -6,7 +6,7 @@ ACTION=$1 | @@ -6,7 +6,7 @@ ACTION=$1 | ||
| 6 | shift | 6 | shift |
| 7 | 7 | ||
| 8 | do_start() { | 8 | do_start() { |
| 9 | - ./script/ferret_start | 9 | + ./script/ferret_server -e $RAILS_ENV start |
| 10 | sleep 1 | 10 | sleep 1 |
| 11 | mongrel_rails cluster::start | 11 | mongrel_rails cluster::start |
| 12 | sleep 3 | 12 | sleep 3 |
| @@ -15,7 +15,7 @@ do_start() { | @@ -15,7 +15,7 @@ do_start() { | ||
| 15 | do_stop() { | 15 | do_stop() { |
| 16 | mongrel_rails cluster::stop | 16 | mongrel_rails cluster::stop |
| 17 | sleep 1 | 17 | sleep 1 |
| 18 | - ./script/ferret_stop | 18 | + ./script/ferret_server -e $RAILS_ENV stop |
| 19 | } | 19 | } |
| 20 | 20 | ||
| 21 | case "$ACTION" in | 21 | case "$ACTION" in |