簡體   English   中英

如何在 Python Tornado 中將 websocket 傳遞給子進程?

[英]How to pass websocket to child process in Python Tornado?

我有一個帶有一些 Websockethandler 的 Tornado 服務器。 我想創建一個工作人員池,以便將工作人員作為子進程啟動並將 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來回發送簡單對象(純舊數據)到子進程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM