我正在研究一个包含两部分的项目,分别是Node.js(API ...)和Python,用于机器学习任务。
我双方都使用ZeroRPC进行通信,以Python为服务器,Node.js为客户端。
我以为我可以使用RPC多次调用同一个Python函数(当函数仍在运行时),但是它不起作用,消息队列保持阻塞,直到函数完成并开始处理下一封邮件。
是否可以使用ZeroRPC同时调用同一函数?
当前代码:
服务器:
s = zerorpc.Server(RPCService())
s.bind("tcp://1.2.3.4:5678")
gevent.spawn(s.run)
while True:
gevent.sleep(1)
客户:
const client = new zerorpc.Client();
client.connect("tcp://1.2.3.4:5678");
client.on("error", function(error) {
console.error(error);
});
client.invoke('run long task', someData (err, result, more) => {
// ...
});