method

process!

process!(provider = FCGI)
public

No documentation available.

# File railties/lib/fcgi_handler.rb, line 46
  def process!(provider = FCGI)
    # Make a note of $" so we can safely reload this instance.
    mark!

    run_gc! if gc_request_period

    provider.each_cgi do |cgi| 
      process_request(cgi)

      case when_ready
        when :reload
          reload!
        when :restart
          close_connection(cgi)
          restart!
        when :exit
          close_connection(cgi)
          break
      end

      gc_countdown
    end

    GC.enable
    dispatcher_log :info, "terminated gracefully"

  rescue SystemExit => exit_error
    dispatcher_log :info, "terminated by explicit exit"

  rescue Object => fcgi_error
    # retry on errors that would otherwise have terminated the FCGI process,
    # but only if they occur more than 10 seconds apart.
    if !(SignalException === fcgi_error) && Time.now - @last_error_on > 10
      @last_error_on = Time.now
      dispatcher_error(fcgi_error, "almost killed by this error")
      retry
    else
      dispatcher_error(fcgi_error, "killed by this error")
    end
  end