我在 NodeJS 上使用 elasticsearch 客户端库,我试图了解是否以及何时使用该client.close()方法。我在整个应用程序中使用相同的客户端,有时我会在 ES 上进行一些搜索。
我首先想知道该client.close方法的作用是什么?由于与 ES 的通信是在 HTTP 中进行的,我不确定会发生什么,也找不到任何关于它的文档。
其次,我应该在每次搜索后关闭连接,还是只在关机时关闭?
我在 NodeJS 上使用 elasticsearch 客户端库,我试图了解是否以及何时使用该client.close()方法。我在整个应用程序中使用相同的客户端,有时我会在 ES 上进行一些搜索。
我首先想知道该client.close方法的作用是什么?由于与 ES 的通信是在 HTTP 中进行的,我不确定会发生什么,也找不到任何关于它的文档。
其次,我应该在每次搜索后关闭连接,还是只在关机时关闭?
您是正确的,因为您通过应用程序使用,但在关闭实例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的链接