| #!/usr/bin/ruby |
| # |
| # You may specify the path to the FastCGI crash log (a log of unhandled |
| # exceptions which forced the FastCGI instance to exit, great for debugging) |
| # and the number of requests to process before running garbage collection. |
| # |
| # By default, the FastCGI crash log is RAILS_ROOT/log/fastcgi.crash.log |
| # and the GC period is nil (turned off). A reasonable number of requests |
| # could range from 10-100 depending on the memory footprint of your app. |
| # |
| # Example: |
| # # Default log path, normal GC behavior. |
| # RailsFCGIHandler.process! |
| # |
| # # Default log path, 50 requests between GC. |
| # RailsFCGIHandler.process! nil, 50 |
| # |
| # # Custom log path, normal GC behavior. |
| # RailsFCGIHandler.process! '/var/log/myapp_fcgi_crash.log' |
| # |
| |
| require File.dirname(__FILE__) + "/../config/environment" |
| require 'fcgi_handler' |
| |
| # see http://wiki.dreamhost.com/index.php/Rails#Performance_Notes |
| # TODO (but not now) this doesn't work |
| class RailsFCGIHandler |
| private |
| def frao_handler(signal) |
| dispatcher_log :info, "asked to terminate immediately" |
| dispatcher_log :info, "frao handler working its magic!" |
| restart_handler(signal) |
| end |
| alias_method :exit_now_handler, :frao_handler |
| end |
| |
| RailsFCGIHandler.process! |
| |