2010-06-25 5 views
0

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

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

Любые идеи? Как производственная среда может обнаружить класс, который больше не существует?

ответ

1

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

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

Смежные вопросы