Closed digitalextremist closed 10 years ago
I would question whether this is supportable in Reel or as a feature in a separate gem. @tarcieri any thoughts?
I have more experience than I ever want with Unicorn's hot restarts, and their master/worker-based "zero downtime deploys"
My takeaways are that it's practically impossible to get right. The Unicorn approach won't work on JRuby, and even on Java 7 where permgen leakage through classloaders has been partially fixed, it still doesn't work right.
I am very glad for your experience on this, and deployment/server reliability in general. I will think outside the box for a bit on how to accomplish this in a new or at least cross-platform cross-engine way. Not sure what timeframe this would be done in, but I do think this is (probably one of the few issues I raised) applicable to Reel as a handler.
Will have this in the back of my mind.
I say we keep this out of the core of Reel.
I have a code reloader I can put up at reel-reloader or put it in reaf.
btw @halorgium, I am trying to get out to PDX toward the end of your trip.
If signal is sent to server ( or reload method called, or file touched if -H specified ):
If in development environment and option passed to bin/reel or option set for server, reload code on update of included *.rb files and tell console which files changed and were reloaded.