I would like to reload production application running with Thin. I know there is development mode, but our app is so complicated it simply cannot run in the development mode (it is very slow and unusable as we are more-or-less enterprise integration app). And we are not able to upgrade to Rails 3.2 which improved development mode.
Is there any way of reloading configuration with Thin or do I need to restart everytime? If not, I will keep restarting everytime I need to change something on a production setup in our testing environment.
In your config/environments/production.rb file you could turn the caching settings to false in order to have it behave more like development. This will allow you to update models etc.. without needing to restart the server. You won’t want to check that into source control though. This may negate your entire reason for using production environment to speed things up though.
For reloading environment or initializer configurations you must always restart the server whether in development mode or not.
I personally would just be running the development environment as thats the intent. I’ve work on a couple large enterprise apps, and not had development environment unable to run…
If performance is the issue there are a couple things you could try to speed things up:
1) try using active_reload which was the precursor for much of the Rails 3.2 performance improvements https://github.com/paneq/active_reload
2) you can look into precompiling your development assets if its the asset pipeline slowing things down