uwsgi Python模块
uWSGI服务器自动添加一个 uwsgi
模块到你的Python应用中。
这对于配置uWSGI服务器是有用的,使用它的内部函数,并获取分析数据(以及检测你是否真的在uWSGI下运行)。
注解
许多这些函数当前不幸未公开。
模块级别的全局
参见
缓存函数
参数:
- key – 要读取的缓存键。
- cache_name – 多缓存模式中的缓存名字 (可以是name@address这样的格式)。可选。
参数:
- key – 要写的缓存键。
- value – 要写的缓存值。
- expire – 值的失效时间,以秒为单位。
- cache_name – 多缓存模式中的缓存名字 (可以是name@address这样的格式)。可选。
参数:
- key – 要删除的缓存键
- cache_name – 多缓存模式中的缓存名字 (可以是name@address这样的格式)。可选。
参数:
- key – 要坚持的缓存键
- cache_name – 多缓存模式中的缓存名字 (可以是name@address这样的格式)。可选。
队列函数
SNMP函数
参数:str – 包含新的community值的字符串。
设置SNMP community字符串。
参数:
- oidnum – 一个包含oid数字目标的整数
- value – 一个包含计数器或测量新值的整数。
设置计数器或测量为一个指定的值。
参数:
- oidnum – 一个包含oid数字目标的整数。
- value – 一个包含增加/减少计数器或测量的量整数值。如果未指定,默认为1.
增加或减少计数器或测量一个特定的量。
注解
uWSGI OID树从1.3.6.1.4.1.35156.17开始
spooler函数
参数:
- message_dict – 发送到spool的消息 (字符串键,字符串值)。要么这样,要么设置**kwargs。
- spooler – 要使用的spooler (id或者目录)
- priority – 消息的优先级。越大越不重要。
- at – 应该处理这条信息的最小的UNIX时间戳。
- body – 除了消息字典本身,添加到消息的一个二进制 (字节字符串)体。它的值可通过消息中的
body
键访问。
发送数据到 uWSGI Spooler. 又名 spool().
注解
所有的关键字参数也可以在消息字典中传递。这意味着它们是保留字,嗯,某种程度上……
参数:path – 读取任务的相对/绝对路径
高级方法
uwsgi.
send_message
()- 使用 uwsgi协议 发送一般消息。
注解
这个函数被称为 senduwsgi_message()
,直到版本 _2f970ce58543278c851ff30e52758fd6d6e69fdc.
uwsgi.
send_multi_message
()- 使用 uwsgi协议 发送一条一般消息到多个接收者
注解
这个函数被称为 sendmulti_uwsgi_message()
,直到 _2f970ce58543278c851ff30e52758fd6d6e69fdc 版本。
参见
查看 Clustering
获得更多例子
uwsgi.
accepting
(accepting=True)- 设置当前worker的接受标志的值。在同时使用
Overriding Workers
_ 和加载时建立链的时候必须。
参见
参见
Reload
参数:locknum – 要锁的锁号。Lock 0总是可用的。
参数:locknum – 要解锁的锁号。Lock 0总是可用的。
worker
/worker0
将发送信号给第一个可用worker。如果你指定过一个空字符串,那么这是默认值。workers
会发送信号给每个worker。workerN
(N > 0) 会发送信号给worker N。mule
/mule0
会发送信号给第一个可用mule。 (见 uWSGI Mule)mules
会发送信号给所有mule。muleN
(N > 0) 会发送信号给mule N。cluster
会发送信号给集群中的所有节点。警告:未实现。subscribed
会发送信号给所有订阅节点。警告:未实现。spooler
会发送信号给spooler。
cluster
和subscribed
特殊,因为它们会将信号发送给所有集群/订购节点的master。其他节点将不得不定义一个本地处理器,以避免可怕的信号风暴循环。
参数:function – 一个回调,接收一个数字参数。
参数:num – 引发的信号
uwsgi.
signalwait
([_signum])- 阻塞进程/线程/异步核心直到接收到了一个信号。使用
signal_received
来获取接收到的信号值。如果已经为该信号注册了一个处理函数,那么signal_wait
将被终端,而实际的处理函数将处理该信号。
参数:signum – 可选 - 要等待的信号
参数:
- signum – 引发的信号值。
- seconds – 引发信号的时间间隔。
参数:
- signum – 引发的信号值。
- seconds – 引发信号的时间间隔。
- iterations – 引发信号的次数。0 (默认) 表示无数次。
uwsgi.
addcron
(_signal, minute, hour, day, month, weekday)- 对于时间参数,你可以使用语法
-n
来表示“每n”。例如,hour=-2
将声明会每隔一个小时发送一次信号。
参数:
- signal – 引发的信号值。
- minute – 运行该事件的分钟。
- hour – 运行该事件的小时。
- day – 运行该事件的天。这会和
weekday
进行或运算。 - month – 运行该事件的月。
- weekday – 运行该事件的工作日。这会与
day
进行或运算。 (根据POSIX标准,0是星期天,6是星期一)
参数:string – 要提取的符号名。
从uWSGI二进制镜像中提取一个符号。
参见
参数:
- string – 要发送的字节字符串消息。
- id – 可选 - 接收该消息的mule ID。如果你不指定一个ID,那么这条消息就会被发送到第一个可用的编程mule。
发送一条消息给一个mule。
返回:一旦接收到一条mule消息,则返回。
阻塞,直到接收到了一条Mule消息,并返回这条消息。可以在同一个编程mule中从多个线程中调用该函数。
异步函数
参数:seconds – 休眠时间,以秒为单位。
参数:
- fd – 文件描述符号。
- timeout – 可选的超时 (如果省略,则是无限).
参数:
- fd – 文件描述符号。
- timeout – 可选的超时 (如果省略,则是无限).
SharedArea函数
参见
uwsgi.
sharedarearead
(_pos, len) → bytes- 从uWSGI SharedArea —— uWSGI组件间共享内存页 读取一个字节字符串。
参数:
- pos – 读取的起始位置。
- len – 要读取的字节数。返回:读取的字节,或者当共享区域未启用/读取请求无效时,返回
None
。
uwsgi.
sharedareawrite
(_pos, str) → long- 将一个字节字符串写入到uWSGI SharedArea —— uWSGI组件间共享内存页.
参数:
- pos – 写入的起始位置。
- str – 要写入的字节字符串。返回:已写入的字节数,或者当共享区域未启用/不能完全结束写入时,返回
None
。
uwsgi.
sharedareareadbyte
(_pos) → int- 从uWSGI SharedArea —— uWSGI组件间共享内存页 读取单个字节。
参数:pos – 读取的起始位置。返回:读取的字节,或者当共享区域未启用/读取请求无效时,返回 None
。
uwsgi.
sharedareawritebyte
(_pos, val) → int- 将单个字节写入到uWSGI SharedArea —— uWSGI组件间共享内存页.
参数:
- pos – 写入该值的位置。
- val (整型) – 要写入的值。返回:已写入的字节,或者当共享区域未启用/写请求无效时,返回
None
。
uwsgi.
sharedareareadlong
(_pos) → int- 从uWSGI SharedArea —— uWSGI组件间共享内存页 读取一个64位(8字节)长的值。
参数:pos – 读取的位置。返回:读取的值,或者当共享区域未启用/读请求无效时,返回 None
。
uwsgi.
sharedareawritelong
(_pos, val) → int- 将一个64位(8字节)长的值写入到uWSGI SharedArea —— uWSGI组件间共享内存页.
参数:
- pos – 要写入该值的位置。
- val (long) – 要写的值。返回:已写的值,或者当共享区域未启用/写请求无效时,返回
None
。
uwsgi.
sharedareainclong
(_pos) → int- 自动增加uWSGI SharedArea —— uWSGI组件间共享内存页 中的一个64位long值。
参数:pos – 值的位置。返回:给定位置上的新的值,或者当共享区域未启用/读请求无效时,返回 None
。
Erlang函数
返回:文件描述符,或者错误时返回-1