-1

我在 NodeJS 上使用 elasticsearch 客户端库,我试图了解是否以及何时使用该client.close()方法。我在整个应用程序中使用相同的客户端,有时我会在 ES 上进行一些搜索。

我首先想知道该client.close方法的作用是什么?由于与 ES 的通信是在 HTTP 中进行的,我不确定会发生什么,也找不到任何关于它的文档。

其次,我应该在每次搜索后关闭连接,还是只在关机时关闭?

4

1 回答 1

1

您是正确的,因为您通过应用程序使用,但在关闭实例elasticsearch时关闭连接是一个很好的做法。Nodejs例如,当您关闭服务器(NodeJS 实例)时,您允许它正常关闭。在那个优雅的关闭过程中,您关闭了 MongoDB 连接(或任何其他数据库连接)和 ES 连接等。像这样的一些事情

server.close(() => {
        console.log('Gracefully shutting down');
        mongoDB.close()
        elasticsearch.close()    <==== this is what you want
        process.exit(0);
    });

看看这个讨论如何优雅地关闭 NodeJS的链接

于 2019-12-22T19:44:30.343 回答