Does Phusion Passenger restart gracefully when I touch restart.txt

passenger, ruby-on-rails

Solution

I'm under the impression that each passenger app instance dies AFTER processing a request instead of restarting BEFORE the next request when restart.txt is touched. So there's a latency of one request in each passenger worker. As the process quits and the app spawner just spawns a new instance, I would not call this "graceful".

This means that the next request to a single instance of your application will be answered by that version of the instance which then quits (after doing its work). Current running requests won't be killed.

Problem

Will it finish serving all current requests before it restarts?

Original source