2010-02-04 5 views

Répondre

2

Je suis sous l'impression que chaque instance d'application passager meurt APRÈS traitement d'une demande au lieu de redémarrer AVANT la requête suivante lorsque restart.txt est touché. Il y a donc une latence d'une demande par passager. À mesure que le processus se ferme et que le générateur d'application génère une nouvelle instance, je ne l'appelle pas "gracieux".

Cela signifie que la prochaine requête adressée à une seule instance de votre application recevra une réponse de cette version de l'instance qui se ferme (après avoir effectué son travail). Les demandes en cours ne seront pas détruites.

+3

Par gracieux je veux juste dire que chaque demande en cours est terminée sans en laisser tomber. – Greg

+0

Juste modifié ma réponse - il ne laissera pas tomber une instance d'application, ni pendant une demande ni pour la prochaine demande immédiate. – hurikhan77

4

Réponse courte: oui!

En fait, il permettra à la demande en cours de se terminer et de répondre à une nouvelle demande avec une nouvelle version. J'essaie de trouver une référence à ceci, mais je n'en trouve pas pour l'instant.

+7

"En créant ou en modifiant le fichier tmp/restart.txt dans le dossier racine de l'application Rails, Phusion Passenger redémarre automatiquement l'application lors de la prochaine requête." http://modrails.com/documentation.html –

+0

J'ai lu cette citation en lisant les documents pour répondre à cette question, interprétez-vous ceci comme impliquant qu'il redémarrera gracieusement? Par exemple, terminer toutes les demandes en suspens, puis faire le prochain avec la nouvelle version? – Greg

+0

Oui, c'est ainsi que je l'ai interprété. –