From 7077d8bb3d71742d5130753816508ccf302d7b26 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 19 Jul 2005 18:53:48 +0000 Subject: Dropped the 'immediate close-down' of FCGI processes since it didn't work consistently and produced bad responses when it didn't. So now a TERM ensures exit after the next request (just as if the process is handling a request when it receives the signal). This means that you'll have to 'nudge' all FCGI processes with a request in order to ensure that they have all reloaded. This can be done by something like ./script/process/repear --nudge 'http://www.myapp.com' --instances 10, which will load the myapp site 10 times (and thus hit all of the 10 FCGI processes once, enough to shut down). git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1867 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- railties/lib/fcgi_handler.rb | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) (limited to 'railties/lib') diff --git a/railties/lib/fcgi_handler.rb b/railties/lib/fcgi_handler.rb index f2455b01c9..1e3061fe49 100644 --- a/railties/lib/fcgi_handler.rb +++ b/railties/lib/fcgi_handler.rb @@ -10,7 +10,6 @@ class RailsFCGIHandler } attr_reader :when_ready - attr_reader :processing attr_accessor :log_file_path attr_accessor :gc_request_period @@ -28,7 +27,6 @@ class RailsFCGIHandler # takes this instance as an argument for further configuration. def initialize(log_file_path = nil, gc_request_period = nil) @when_ready = nil - @processing = false self.log_file_path = log_file_path || "#{RAILS_ROOT}/log/fastcgi.crash.log" self.gc_request_period = gc_request_period @@ -125,13 +123,8 @@ class RailsFCGIHandler end def graceful_exit_handler(signal) - if processing - dispatcher_log :info, "asked to terminate ASAP" - @when_ready = :exit - else - dispatcher_log :info, "told to terminate NOW" - exit - end + dispatcher_log :info, "asked to terminate ASAP" + @when_ready = :exit end def reload_handler(signal) @@ -140,13 +133,10 @@ class RailsFCGIHandler end def process_request(cgi) - @processing = true Dispatcher.dispatch(cgi) rescue Object => e raise if SignalException === e dispatcher_error(e) - ensure - @processing = false end def mark! -- cgit v1.2.3