Question

J'ai une application Rails installé sur un serveur Slicehost exécutant Apache 2 et Ubuntu LTC 10,04. Les choses ont magnifiquement travaillé jusqu'à présent: modifier un fichier, faire un mongrel_rails cluster::restart rapide et les changements se reflètent dans la production. Cependant, tout à coup ce processus est en panne.

Par exemple, j'ai une classe appelée Master situé dans /lib/master.rb. J'ai ajouté une nouvelle méthode pour cette classe qui fonctionne simplement puts "it works!", puis redémarré le cluster bâtarde. En regardant les journaux de production, le serveur renvoie une erreur et pense que cette méthode n'existe pas. Quand je vais à la console en utilisant ruby script/console production, cependant, je peux utiliser cette nouvelle méthode parfaitement. J'ai même essayé de supprimer le fichier contenant la classe entière Master. Encore une fois, la production a pensé qu'il était toujours là, mais correctement la console de production reconnu qu'il avait disparu.

Toutes les idées? Comment l'environnement de production de détecter une classe qui n'existe même plus?

Était-ce utile?

La solution

Drôle, je passe 2 heures de débogage cela, puis après à StackOverflow et figure, il en 20 minutes.

Le problème est que je devais redémarrer aussi mes travaux d'arrière-plan. Ils étaient en cours d'exécution l'ancienne version des classes stockées dans / lib. Il est intéressant de noter que ce problème ne m'a jamais accroché avant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top