node js grpc server forceShutdown没有正常关闭

时间:2017-10-10 09:13:23

标签: javascript node.js grpc

我试图在关闭之后重启grpc节点js服务器

grpc服务器第一次启动它是可以的,但尝试在forceShutdown之后启动会出错:

Error: Server is already running

这是代码:

server.start(); // runs ok 
server.forceShutdown();
server.start(); // gives error

如何正确关闭grpc服务器,以便像上面那样重启?

1 个答案:

答案 0 :(得分:2)

这似乎是gRPC上的一个错误。根据他们的文档:

  

返回时,服务器已关闭。

这意味着当函数调用返回时,服务器应该关闭,但看起来并非像您的问题所示的情况。您可以尝试调用正常关闭并传递应该在服务器关闭时执行的回调,然后立即调用强制关闭:

server.start();
server.tryShutdown(function () {
  server.start();
});
server.forceShutdown();