Возможно ли использовать команду перезагрузки python (или аналогичную) на одном модуле в автономном веб-приложении черри? У меня есть веб-приложение на основе CherryPy, которое часто находится под постоянным использованием. Время от времени я делаю «важное» изменение, которое влияет только на один модуль. Я хотел бы иметь возможность немедленно перезагрузить этот модуль, не затрагивая остальную часть веб-приложения. Полный перезапуск, по общему признанию, быстрый, однако есть еще несколько секунд простоя, которые я бы предпочел избежать, если это возможно.Перезагрузка одного модуля в черри?
ответ
Перезагрузка модулей очень и очень сложно сделать разумным способом. Это приводит к потенциалу устаревших объектов в вашем коде с невозможным допросом и точными ошибками. Это не то, что вы хотите сделать.
Какое реальное веб-приложение имеет тенденцию делать, это иметь сервер, который остается живым перед своим приложением, таким как Apache с mod_proxy, для работы в качестве обратного прокси. Вы запустите свой новый сервер приложений, измените маршрутизацию обратного прокси и только потом убейте старый сервер приложений.
Отсутствие простоя. Без сумасшедшего, неуязвимого кода.
+1. Однажды я пошел по этой дороге. Благосостояние было * не * сохранено. – Carpetsmoker
http://tools.cherrypy.org/wiki/ModProxy - это информация об использовании CherryPy с mod_proxy. (Не стесняйтесь использовать nginx или что-то другое вместо Apache, как вы предпочитаете.) –
Я вижу. Так что у меня два экземпляра моего сервера приложений (по крайней мере, при изменении материала). Я уже использую apache с mod_proxy, так что это вполне выполнимо, просто используя два разных порта для сервера приложений и переключение между ними. Однако я бы подумал, что у меня будет такая же проблема с перезапуском apache, чтобы изменить прокси-маршрутизацию - опасность того, что пользователь не получит ответ, когда апач перезагрузился, чтобы использовать другой сервер/порт. Если я не смогу сделать живое обновление прокси-маршрута/маршрутизации? Hmmmm ... – ibrewster
- 1. Перезагрузка модуля в Python 3.4
- 2. Перезагрузка текущего модуля при удалении
- 3. Функции выбора черри
- 4. webpack - перезагрузка горячего модуля на сервере
- 5. Перезагрузка модуля/проблема с файлом и задачами
- 6. Перезагрузка модуля Python на удаленном получателе WebSocket
- 7. Перезагрузка модуля расширения Python из IPython
- 8. Черри-pick Automerge commit id
- 9. Черри-сбор всей истории фиксации конкретного файла
- 10. Как отображать параметры в открытых функциях черри?
- 11. GRAILS GSP - не перезагрузка после одного обновления
- 12. Перезагрузка одного контроллера с другого контроллера Angular js
- 13. Перезагрузка uWSGI-rss на одного рабочего/процесса?
- 14. Перезагрузка модуля Python для каждого процесса в модуле многопроцессорности
- 15. Как мягкая перезагрузка от немонолитного модуля ядра в области IRQ?
- 16. Перезагрузка/перезагрузка Угловое приложение
- 17. Вызов одного модуля из другого
- 18. Профиль Maven для одного модуля
- 19. Диспетчер указателей черри не такой как
- 20. Аргумент формы разделения черри, когда он содержит «&»
- 21. Повторное подписание, перезагрузка и запуск тестовой функции из модуля powershell?
- 22. Перезагрузка горячего модуля с помощью браузера, сокращения и реагирования-маршрута
- 23. Angular2: Перезагрузка маршрутизируемого модуля, не получающего js и css-файлы
- 24. Ввод из одного модуля EJB в другой
- 25. Компиляция одного модуля SciPy в * .pyd
- 26. Подстановка одного модуля для другого в node.js
- 27. Перезагрузка
- 28. Перезагрузка кода в Wicket
- 29. Горячая перезагрузка не горячая перезагрузка
- 30. JBOSS 5.1.0: Undeploy одного модуля, удаляющего банки другого модуля
http://stackoverflow.com/questions/6270395/detect-if-a-python-module-changes-and-then-reload –
@ OmidRaha рядом, но нет сигары. Этот вопрос не имеет ничего общего с вишневым. Я знаю, как перезагрузить модуль в целом (см. Мою ссылку на команду перезагрузки python), то, что я ищу, - это способ заставить CherryPy (а не мой код) перезагрузить один из моих модулей. Разве это не так просто, как вызвать перезагрузку в моем коде? – ibrewster