Commit 900e9a99e11171c2d2f5435c635a5e70e7c1eefe

Authored by AntonioTerceiro
1 parent bf1bc5a8

ActionItem392: updating startup scripts


git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@2006 3f533792-8f58-4932-b0fe-aaf55b0a4547
script/ferret_start
... ... @@ -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   -#!/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 6 shift
7 7  
8 8 do_start() {
9   - ./script/ferret_start
  9 + ./script/ferret_server -e $RAILS_ENV start
10 10 sleep 1
11 11 mongrel_rails cluster::start
12 12 sleep 3
... ... @@ -15,7 +15,7 @@ do_start() {
15 15 do_stop() {
16 16 mongrel_rails cluster::stop
17 17 sleep 1
18   - ./script/ferret_stop
  18 + ./script/ferret_server -e $RAILS_ENV stop
19 19 }
20 20  
21 21 case "$ACTION" in
... ...