Дворняга не обнаруживает изменений в классах Rails? - PullRequest
0 голосов
/ 25 июня 2010

У меня установлено приложение Rails на сервере Slicehost под управлением Apache 2 и Ubuntu LTC 10.04.До сих пор все работало прекрасно: я редактирую файл, быстро набираю mongrel_rails cluster::restart, и изменения отражаются в работе.Однако неожиданно этот процесс оборвался.

Например, у меня есть класс с именем Master, расположенный в /lib/master.rb.Я добавил в этот класс новый метод, который просто запускает puts "it works!", а затем перезапустил кластер mongrel.Глядя на производственные журналы, сервер выдает ошибку и думает, что этот метод не существует.Однако, когда я иду на консоль, используя ruby script/console production, я могу отлично использовать этот новый метод.Я даже попытался удалить файл, содержащий весь класс Master.Еще раз, производственники думали, что они все еще там, но производственная консоль правильно поняла, что их не было.

Есть идеи?Как производственная среда может обнаружить класс, которого больше нет?

1 Ответ

1 голос
/ 25 июня 2010

Забавно, я трачу 2 часа на его отладку, затем отправляю сообщения в StackOverflow и выясняю это через 20 минут.

Проблема в том, что мне нужно было также перезапустить мои фоновые задания.Они использовали старую версию классов, хранящихся в / lib.Интересно, что эта проблема меня никогда не зацепила.

...