Lorsque je pousse le nouveau code de mon application Sinatra sur mon serveur de production, je déclenche actuellement un redémarrage du passager en touchant tmp/restart.txt
, qui charge les nouvelles modifications. Le problème est que le site est pratiquement arrêté pendant environ 10 secondes au cours de ce processus.
Comment puis-je configurer mon serveur pour éviter complètement les temps d’arrêt?
C’est-à-dire que je souhaite que l’application continue à servir l’ancienne version du code jusqu’à ce que le nouveau code soit complètement chargé, puis à basculer instantanément vers le nouveau code.
L’utilisation de fusil de chasse ou de sinatra / rechargeur ne fonctionnera pas ici, car il s’agit d’un environnement de production. Enfin, si la réponse dépend du serveur d’applications, je serais intéressé par la manière de le faire à la fois avec Licorne et Passager.
Ce que vous recherchez, c’est le redémarrage. Phusion Passenger Enterprise prend en charge ceci: http://www.modrails.com/documentation/Users%20guide%20Nginx.html#PassengerRollingRestarts