我在 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的链接