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

Новые приложения uWSGI Emperor запускаются не сразу

Я запускаю 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»