Назад | Перейти на главную страницу

Функция сенсорной перезагрузки uWSGI не работает со 100% ЦП

В моем окне разработки я настроил uWSGI для перезагрузки каждый раз при касании файла (с помощью аргумента командной строки --touch-reload). Когда я указываю несуществующий файл, я получаю предупреждение в журналах uWSGI. Если я укажу существующий файл (скажем, /data/reload.uwsgi) В логах ничего не получаю, имеется ввиду настройки мощь будет хорошо.

Вот в чем проблема: всякий раз, когда я touch /data/reload.uwsgi, uWSGI не перезагружается. Журналы не показывают ничего особенного (просмотр источников показывает, что я должен получить какое-то подтверждение, что отслеживаемый файл был затронут).

Однако есть одна вещь: все процессы uwsgi начинают использовать всю доступную мощность процессора, пока я не остановлю службу.

uWSGI все еще работает, но со «старым» кодом Python, а не с перезагруженным.

Что мне не хватает? Это ошибка что ли?

Заранее спасибо,

Ромен


Кстати я бегу uWSGI 0.9.7.2 на FreeBSD 8.2 AMD64 с участием Python 2.7.1. uWSGI и Python работают внутри тюрьма.

Я пробовал такие файлы, как /data/reload.uwsgi или /tmp/reload.uwsgi, ни один из них не работает. Я даже попытался перебросить эти файлы в www пользователь (тот, кто запускает процессы uwsgi) безуспешно. Для записи вот командная строка в /etc/rc.conf для запуска службы uWSGI:

uwsgi_flags="-p 2 -M -t 30 -C --pythonpath /data/app -w <APPNAME> --uid www --gid www -L -d /var/log/uwsgi.log --post-buffering 8192 --touch-reload /data/reload.uwsgi"

Это ошибка FreeBSD, проверьте последнюю подсказку, она исправлена