我有一个带有一些Websockethandler的龙卷风服务器。我想建立一个工作池,以便将一个工作程序作为子进程启动,并将websocket连接传递给该工作程序。工作人员完成后,应将答案发送给客户。

def worker(message):
    inp_dict = json.loads(message)
    t = inp_dict["time"]
    time.sleep(t)
    return "Hello, World! "*int(t)

class WebSocket(tornado.websocket.WebSocketHandler):
    def check_origin(self, origin):
        return True

    def open(self):
        print("WebSocket opened")

    def on_message(self, message):
        self.write_message(worker(message))

    def on_close(self):
        print("WebSocket closed")


怎么做?

最佳答案

不支持在进程之间传递连接。而是将连接留在主流程中,然后使用multiprocessing.Queue,用于将简单对象(普通旧数据)来回发送给子进程。

关于python - 如何在Python Tornado中将websocket传递给子进程?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36991106/

10-12 07:25