我在 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 设置为服务