Page WSGI - не обновляет
Вопрос
Я недавно получил свое первое приложение для работы в UWSGI с Cherokee. Я использовал следующий код из Документы UWSGI:
def application(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/plain')])
yield 'Hello World\n'
Страница правильно читает Hello World
. Отказ Когда я меняю этот текст на New Thing
И обновить, ничего не меняется. Что я забыл?
Что я пробовал:
- Очистка истории браузера и кэш
- Остановка и запуск чероки
Редактировать: чтобы уточнить, я меняюсь
Привет мир
к Новая вещь
в коде Python. Затем я останавливаю чероки, обновите, и я, очевидно, вижу сообщение об ошибке. Я перезапускаю Cherokee, обновить, и я вижу Привет мир
.
Решение
Таким образом, это работает, что Cherokee управляется запуском экземпляра UWSGI на заднем плане для вас. То, что я не заметил до сих пор, и я не закончил, это то, что если вы выключите чероки, это, похоже, также не выключится под управлением экземпляров UWSGI.
Попробуй это:
sudo service cherokee start
ps aux | grep uwsgi
# you should see nothing from this ps command
# now hit your web app
sudo service cherokee stop
ps aux | grep uwsgi
# you should see the instance of uwsgi that cherokee started
Таким образом, ваш код приложения на самом деле работает через UWSGI, а Cherokee больше похоже на прокси-сервер. Чтобы обновить код приложения, вам нужно отправить сигнал HUP на UWSGI, а не черки.
sudo killall -HUP uwsgi
Это должно привести к обновлению UWSGI для ваших изменений приложения независимо от Cherokee.