管理标志

警告

这个特性当前可能已暂停或弃用。

使用管理标志(Management Flag)系统,你可以远程修改uWSGI栈的某些方面的行为,而无需下线服务器。

注解

一个更综合的重设置系统可能正在开发中。

所有的标志都是用一个无符号的32位值(因此块大小总是4),它包含为这个标志设置的值。如果你不指定该值,那么仅发送uWSGI头,服务型将会把它当成一种读请求。

标志动作描述
0logging启用/禁用日志记录
1max_requests设置每个worker的最大请求数
2socket_timeout修改内部socket超时
3memory_debug启用/禁用内存调试/报告
4master_interval设置master进程检查间隔
5harakiri设置/取消设置harakiri超时
6cgi_mode启用/禁用cgi模式
7threads启用/禁用线程(当前未实现)
8reaper启用/禁用进程reaper
9log-zero启用/禁用记录响应大小为零的请求
10log-slow设置/取消设置记录缓慢请求
11log-4xx启用/禁用记录4xx响应状态的请求
12log-5xx启用/禁用记录5xx响应状态的请求
13log-big设置/取消设置记录具有大的响应大小的请求
14log-sendfile设置/取消设置记录sendfile请求
15backlog-status报告backlog队列的当前大小(Linux仅限tcp)
16backlog-errors报告backlog队列中的错误数(Linux仅限tcp)

myadmin工具

包含一个简单(丑陋)的脚本, myadmin ,用来远程更改管理标志:

  1. # disable logging on the uWSGI server listening on 192.168.173.17 port 3031
  2. ./uwsgi --no-server -w myadmin --pyargv "192.168.173.17:3031 0 0"
  3. # re-enable logging
  4. ./uwsgi --no-server -w myadmin --pyargv "192.168.173.17:3031 0 1"
  5. # read a value:
  6. ./uwsgi --no-server -w myadmin --pyargv "192.168.173.17:3031 15"