Подтвердить что ты не робот

Приложение "Флажок" "Перезапуск со статусом"

Я создал несколько флеш-приложений, но в своем последнем проекте я заметил что-то странное в режиме разработки. Вторая строка обычного сообщения в терминале, которое всегда читает:

 * Running on http://127.0.0.1:5000/
 * Restarting with reloader

был заменен на:

 * Restarting with stat

Я не думаю, что я сделал что-то другое, на самом деле, я начал с клонирования проекта стартового набора, который я использовал много раз, что само по себе не демонстрирует такого поведения. Я также замечаю, что этот проект постоянно потребляет около 15% процессора, тогда как мой другой проект едва близок.

Любые идеи, почему это происходит?

4b9b3361

Ответ 1

Проверьте свою версию Werkzeug. Версия 0.10 была только что выпущена, и в загрузчик были внесены многочисленные изменения. Одним из изменений является то, что используется перегрузчик опросов по умолчанию; старый pyinotify reloader был явно неточным. Если вы хотите более эффективный опрос, установите пакет watchdog. Вы можете увидеть код, связанный с этим здесь.

Когда Werkzeug не может найти сторожевой таймер, он использует перегрузчик stat, в противном случае он использует то, что использует сторожевой таймер перегрузчика, который может варьироваться в зависимости от платформы. Это сообщение просто для того, чтобы вы знали, какой из них используется.


Сторожевой таймер может быть несовместим с Gevent. Если вы используете gevent и у вас возникают проблемы с перегрузчиком при использовании Watchdog, проверьте эту проблему на GitHub.

Ответ 2

Используйте run(use_reloader=False) чтобы отключить перегрузчик.

Это дало мне некоторые проблемы, когда он не смог найти файл моего сервера при перезапуске. Это добилось цели. Выполнено только один раз, и все заработало. Довольно странно.

Ответ 3

возможно, вы работали с debug=True; после установки debug=False все будет хорошо. app.run(debug=False)