複数の jsonrpc サーバー インスタンスを作成して生成し、異なるポートでリッスンし、1 つのクラス インスタンスからそれらを生成する必要があります。コードには、jsonrpc サーバーを作成し、その run_forever メソッドを実行するメソッドがあります。
def attach_server(datos):
server = SimpleJSONRPCServer((datos.url, datos.port))
server.register_introspection_functions()
server.register_instance(datos)
# Run the server's main loop
print 'running server in url:{} ,in port:{}'.format(datos.url,datos.port)
server.serve_forever()
ここで、この関数は、Server1、server2、serverN を作成しようとするクラス インスタンスから呼び出されます。
すなわち
Server1 = attach_server(datos1) #datos1.url = 'localhost', datos1.port = 4044
Server2 = attach_server(datos2) #datos2.url = 'localhost', datos2.port = 8088
私の質問は...このServer1、Server2をそれぞれ異なるプロセスで実行するにはどうすればよいですか? 最初のサーバーのみを実行できる serve_forever() 永久ループを回避する必要があります。
マルチプロセスを使用してみましたが、サーバーごとにプロセスをフォークする方法がわかりません。私はこのようなことを試しました:
p = Process(name= 'deamon {0}'.format(data.port), target = attach_server(datos))
p.daemon = True
p.start()
Process の target パラメータは、永久に実行されている jsonrpc サーバーをアタッチしており、2 番目のサーバーの起動も回避していることに注意してください。フォークする必要があると思いますが、どのツールをどのように/どこで/どのツールを使用するのが正しいのかわかりません。
どんな助けでも大歓迎です!ありがとう