Почему сервер должен перезагружаться при обновлении файла модели? - PullRequest
2 голосов
/ 26 ноября 2009

Я хотел бы знать, почему необходимо перезапускать сервер (Mongrel / WEBrick) при каждом обновлении файла модели? Я знаю, что он не загружается, если вы этого не делаете - но есть ли какая-либо документация, объясняющая, почему это происходит?

Спасибо!

1 Ответ

9 голосов
/ 26 ноября 2009

Среды разработки не требуют перезагрузки сервера при изменении модели. При необходимости они будут перезагружать среду для каждого запроса.

Производственная среда - это отдельная история. Сервер Rails (mongrel / passenger / webrick / etc), работающий в производственной среде, будет загружать вашу среду Rails только один раз при запуске процесса. Это занимает пару секунд, как вы могли заметить при запуске консоли, которая также загружает вашу среду Rails. Чтобы избежать этих издержек для каждого запроса, сервер будет создавать новый поток из загруженной среды для обработки каждого входящего запроса.

Поскольку сервер отвечает только на HTTP-запросы и обычные сигналы. Нет хорошего способа принудительной перезагрузки среды, кроме как всегда загружать свежую среду (например, среду разработки или перезапуск сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...