Frage

Ich habe eine Rails-Anwendung auf einem Server mit Slicehost installiert Apache 2 und Ubuntu LTC 10.04. Die Dinge haben sich schön bis jetzt gearbeitet: Ich bearbeiten eine Datei, führen Sie eine schnelle mongrel_rails cluster::restart, und die Änderungen werden in der Produktion wider. Doch plötzlich ist dieser Prozess abgebaut werden.

Zum Beispiel habe ich eine Klasse namens Master in /lib/master.rb entfernt. Ich habe eine neue Methode zu dieser Klasse, die einfach puts "it works!" läuft, dann die Mischlings Cluster neu gestartet. Mit Blick auf die Produktionsprotokolle, wirft der Server einen Fehler und denkt, dass diese Methode nicht existiert. Wenn ich an die Konsole mit ruby script/console production gehen jedoch kann ich perfekt diese neue Methode verwenden. Ich habe sogar versucht, die Datei zu löschen gesamte Master Klasse enthält. Noch einmal, die Produktion dachte, es war immer noch da, aber die Produktion Konsole richtig erkannt es fehlte.

Irgendwelche Ideen? Wie kann die Produktionsumgebung eine Klasse erkennen, die nicht einmal mehr existiert?

War es hilfreich?

Lösung

Lustig, verbringe ich 2 Stunden des Debuggen, dann schreiben zu Stackoverflow und Figur es aus in 20 Minuten.

Das Problem ist, dass ich brauchte, um auch auch meine Hintergrundjobs neu starten. Sie liefen die alte Version der in / lib gespeichert Klassen. Es ist interessant, dass dieses Problem mich nie verhakt hat vor.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top