posix ipc支持asgi通道层实现

asgi_ipc的Python项目详细描述


用法

您需要使用路径前缀实例化通道层以创建 下面的ipc对象;具有相同前缀的任何通道层都将与 只要他们在同一台机器上就可以互相联系。

示例:

importasgi_ipcasasgichannel_layer=asgi.IPCChannelLayer(prefix="aeracode",message_memory=200*1024*1024,)channel_layer.send("my_channel",{"text":"Hello ASGI"})print(channel_layer.receive(["my_channel",]))

前缀

用于根命名空间下IPC对象的前缀。默认为 asgi 。 同一台机器上具有相同前缀的IPC层将相互通信。

信息存储

要分配给通道存储器的共享内存量,以字节为单位。 默认为100MB。你所有的机上信息都必须符合这一点, 否则,如果内存空间已满,您将收到 channelfull 错误。

asgi消息最多可达1兆字节,并且通常要小得多。 每条消息顶部的IPC路由元数据大约为50字节。

组存储器

要分配给组存储的共享内存量,以字节为单位。 默认为20MB。你的所有组成员数据必须符合此空间, 否则,您的组成员身份可能无法保持。

您可以将大约4000个组通道成员关系放入一个 兆字节内存。

到期

消息在秒内过期。默认为 60 。你一般不需要 要改变这个,但如果你有高峰流量,你可能想把它关小一点 如果你有高峰流量,你想停下来,或者停下来 开始吧。

组有效期

组在秒内过期。默认为 86400 。接口服务器将丢失 在这段时间后连接;建议您将其减少为 更健康的系统,鼓励断开连接。

容量

默认信道容量。默认为 100 。一旦一个频道有容量, 它会拒绝更多的信息。这如何影响系统的不同部分 变化;例如,http服务器将拒绝连接,而django 发送响应将一直等到有空为止。

信道容量

每通道容量配置。这样可以调整频道容量 基于频道名称,并支持全局和正则表达式。

它应该是将通道名称模式映射到所需容量的dict;如果 dict key是一个字符串,它被称为glob,而如果它是编译的 re 对象,它被视为正则表达式。

这个例子将http.request设置为200,all http.response! 频道 到10,全部 websocket.send! 20个频道:

channel_capacity={"http.request":200,"http.response!*":10,re.compile(r"^websocket.send\!.+"):20,}

如果你想强制执行文学硕士学位匹配订单,使用 ordereddict 作为 参数;然后将按照dict提供的顺序匹配频道。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java文件分块,获取长度字节   java嵌入式Tomcat不执行jsf页面   java我的数据库中有2个实体,但hibernate返回其中6个。   java如何基于逗号拆分字符串   java取消已经运行的CompletableFutures的预期模式是什么   java如何在informix中从另一个数据库复制表ddl和数据   为什么图片是黑色的?   java根据字符串数组中的单词筛选列表   Java8的集合。平行流有效吗?   Kotlin中的java静态内部类   java如何在GUI中生成一列字符串   javafx如何正确使用高对比度主题?   带空格的javascript Httpurlconnection参数   java如何设置GridBagLayout的约束   java如何在一个线程可能尚未初始化时关闭另一个线程   java将简单时间格式转换为特殊时间格式(hhmmt)   安卓/java阵列重复过滤器的问题   java在队列的链接实现下,入队和出队是如何工作的   java更新sql外键约束