Posted about 7 years ago. Visible to the public. Deprecated.

better rails app restart with the passenger restart-app tool

Use capistrano-passenger to restart your Rails app after each deployment.

With this command you can initiate an application restart without touching restart.txt. Unlike touching restart.txt, this tool initiates the restart immediately instead of on the next request. http://blog.phusion.nl/2014/01/02/phusion-passenger-4-0-33-released/

If you want to use this with capistrano 2.x just replace the touch command:

Copy
- run "touch #{current_path}/tmp/restart.txt" + run "passenger-config restart-app --ignore-app-not-running #{deploy_to}"

If you are using capistrano 3.x:

Copy
- execute :touch, "#{current_path}/tmp/restart.txt" + execute "passenger-config restart-app --ignore-app-not-running #{deploy_to}"

Note: If you using a passenger lower than 5.0.10 you have to use sudo to run this command.

If using it with capistrano you should use passenger >=4.0.41 and the --ignore-app-not-running parameter otherwise your deploy may fail.

When deploying with capistrano it's possible you get this "error" message:

Copy
*** [err :: example.com] There are no Phusion Passenger-served applications running whose paths begin with '/var/www/example.com'. *** [err :: example.com]

This is just because there were no running passenger instance on the server. It's not a real error.

Once an application no longer requires constant development, it needs periodic maintenance for stable and secure operation. makandra offers monthly maintenance contracts that let you focus on your business while we make sure the lights stay on.

Owner of this card:

Avatar
Kim Jahn
Last edit:
over 2 years ago
by Besprechungs-PC
About this deck:
We are makandra and do test-driven, agile Ruby on Rails software development.
License for source code
Posted by Kim Jahn to makandra dev
This website uses short-lived cookies to improve usability.
Accept or learn more