我需要创建并生成几个 jsonrpc 服务器实例,监听不同的端口,并从一个类实例中生成它们。在代码中,我有一个创建 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 的类实例调用此函数。
IE
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 中的目标参数是附加永远运行的 jsonrpc 服务器,同时避免启动第二个服务器。我想我需要分叉,但我不知道如何/在哪里/哪个工具是正确的。
欢迎任何帮助!谢谢