Python 使用烧瓶读取WebSocket连接上的多处理管道
我有一个由Python 使用烧瓶读取WebSocket连接上的多处理管道,python,flask,websocket,python-multiprocessing,Python,Flask,Websocket,Python Multiprocessing,我有一个由flask提供的开发API,它使用多处理生成一系列同步进程。这些进程是监听器,可以无限期地运行,并在发生有趣的事情时做出反应。它们还监视管道消息,以防API需要它们执行某些操作 我还有一个前端,它使用WebSocket显示有关API的实时信息。现在,我想让我的前端显示关于监听器的实时信息,我对如何实现它有点困惑 我正在考虑在请求与前端的WebSocket连接时,使用pipe.recv()继续读取API端管道。如果监听器发现一些有趣的东西,他们会通过管道将这些信息发送到我的API,然后A
flask
提供的开发API,它使用多处理
生成一系列同步进程。这些进程是监听器,可以无限期地运行,并在发生有趣的事情时做出反应。它们还监视管道消息,以防API需要它们执行某些操作
我还有一个前端,它使用WebSocket显示有关API的实时信息。现在,我想让我的前端显示关于监听器的实时信息,我对如何实现它有点困惑
我正在考虑在请求与前端的WebSocket连接时,使用pipe.recv()
继续读取API端管道。如果监听器发现一些有趣的东西,他们会通过管道将这些信息发送到我的API,然后API会发出一个WebSocket事件将这些信息发送到前端
global listeners
listeners = {
"LISTENER_ID": {
"pipe": PIPE_REFERENCE
}
}
@socketio.on('connect', '/servingListenersInformation')
def update_info():
global listeners
listener_id = request.cookies.get("listener_id")
while True:
info = listeners[listener_id]["pipe"].recv()
socketio.emit("updateInfo", info, "/servindListenersInformation")
time.sleep(500)
我主要关心的是Flask上的性能问题。我知道在生产中,Flask将由一个服务器包装,该服务器可以同时处理多个请求/连接。但是,开放式WebSocket连接是否总是从管道读取过多的读数