uWSGI Emperor 新应用不会立即启动

uWSGI Emperor 新应用不会立即启动

我在 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

答案1

默认扫描频率为 3 秒,你可以使用 --emperor-freq 进行设置。uwsgi-文档

Emperor-freq
参数:required_argument
解析器:uwsgi_opt_set_int
帮助:设置 Emperor 扫描频率(默认 3 秒)

你在 uwsgi 日志中

[uWSGI] getting INI configuration from myapplication.ini

这意味着 Emperor 加载了您的应用程序。将 .ini 配置文件复制到 conf 目录后,必须立即看到此日志。
从此日志到日志“...已生成...”的时间是您的应用程序在返回 uwsgi 对象之前所花费的时间。

其他一些注意事项:
- 通常,使用 --emperor 时不需要 --master。
- 您可以在 rc.conf 中使用“uwsgi_enalbe=YES”、“uwsgi_emperor=YES”和“uwsgi_vassals_dir=your_vassals_directory”将 FreeBSD 上的 Emperor uwsgi 设置为服务

相关内容