Do apps running in Phusion Passenger need to recon

2020-08-01 06:06发布

问题:

Per this documentation:

http://www.modrails.com/documentation/Users%20guide%20Nginx.html#_smart_spawning_gotcha_1_unintentional_file_descriptor_sharing

Socket connections continue to be shared after a Smart spawn operation. The example listed is for Memcached.

Does one have to similarly reconnect ActiveRecord in this case as well? Something like:

PhusionPassenger.on_event(:starting_worker_process) do |forked|
        if forked
            # We're in smart spawning mode.
            ActiveRecord.establish_connection(...)
        else
            # We're in conservative spawning mode. We don't need to do anything.
        end
end

回答1:

passenger automatically reestablishes the connection to the database upon creating a new worker process, according to the guide, so you shouldn't have to do that.

Are you experiencing any trouble that would lead you to believe this might not be the case?