Я запускаю uWSGI в режиме Императора. Все в порядке и работает, но если я добавлю новый файл myapplication.ini, uWSGI потребуются минуты или часы, чтобы распознать изменение и запустить новое приложение. В документации ничего не говорится о настройке времени или частоты мониторинга. Так что есть идеи исследовать эту проблему?
uwsgi 2.0.16 on FreeBSD 11.2-RELEASE-p8
uwsgi --master --emperor /usr/local/etc/uwsgi-apps --uid www --gid www
14:30 I copy myapplication.ini to the Conf directory
...
[uWSGI] getting INI configuration from myapplication.ini
Thu Jan 17 16:38:42 2019 - [emperor] vassal myapplication.ini has been spawned
Thu Jan 17 16:38:42 2019 - [emperor] vassal myapplication.ini is ready to accept requests
Thu Jan 17 18:25:53 2019 - [emperor] vassal myapplication.ini is now loyal
Частота сканирования по умолчанию составляет 3 секунды, вы можете установить ее с помощью --emperor-freq. Из uwsgi-docs:
император
аргумент: required_argument
парсер: uwsgi_opt_set_int
help: установить частоту сканирования Emperor (по умолчанию 3 секунды)
У вас в журнале uwsgi
[uWSGI] getting INI configuration from myapplication.ini
а это значит, что emperor загружает ваше приложение. Этот журнал необходимо просмотреть сразу после копирования файла конфигурации .ini в каталог conf.
Время от этого журнала до журнала «... был создан ...» тратится вашим приложением до тех пор, пока не будет возвращен объект uwsgi.
Некоторые другие примечания:
- В общем, вам не нужен --master, когда вы используете --emperor.
- Вы можете установить uwsgi с emperor на FreeBSD как службу в rc.conf с помощью «uwsgi_enalbe = YES», «uwsgi_emperor = YES» и «uwsgi_vassals_dir = your_vassals_directory»