我有一个带有 Websockethandler 的 Tornado 服务器。我想创建一个 worker 池,以便将 worker 作为子进程启动并将 websocket 连接传递给 worker 。工作人员完成后,它应该向客户端发送一个答案。
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 将简单对象(普通旧数据)来回发送到子进程。
