Commit 900e9a99e11171c2d2f5435c635a5e70e7c1eefe
1 parent
bf1bc5a8
Exists in
master
and in
28 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 | -#!/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 | ... | ... |