2016-05-02 20 views
1

私はいくつかのWebsockethandlerを持つTornado-serverを持っています。子プロセスとして作業者を始め、作業員にWebソケット接続を渡すために、私は労働者のプールを作りたいと思っています。作業者が終了したら、クライアントに回答を送信する必要があります。Python 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") 

どうすればよいですか?

答えて

1

プロセス間の接続の受け渡しはサポートされていません。代わりに、接続をメインプロセスのままにして、たとえば単純なオブジェクト(普通の古いデータ)を子プロセスに前後に送るためのmultiprocessing.Queue

+0

ありがとうございます。しかし、子プロセスからwebsocket-clientに答えを送る方法は? –

+0

たとえば、上記のコードのように。子プロセスとして起動したワーカーからwebsocket-clientにメッセージを送信するにはどうすればよいですか? –

+0

上記のフラグメントに子プロセスはありません。詳細については、これに関する新しい質問をしてください。 –

関連する問題