Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用烧瓶读取WebSocket连接上的多处理管道_Python_Flask_Websocket_Python Multiprocessing - Fatal编程技术网

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连接是否总是从管道读取过多的读数