В моем окне разработки я настроил 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, проверьте последнюю подсказку, она исправлена