在Node.js脚本中完成Cassandra后,我真的需要调用client.shutdown()吗?
我一直试图通过Datastax查找有关Node.js Cassandra驱动程序的Cassandra会话的信息。我读到一篇文章说cassandra驱动程序自动管理会话,我不需要调用client.shutdown() 我正在寻找有关cassandra驱动程序如何管理会话的一般信息,如何查看所有活动的cassandra会话,以及是否需要调用shutdown(),或者每次运行脚本时都必须重新打开会话是否会适得其反在Node.js脚本中完成Cassandra后,我真的需要调用client.shutdown()吗?,node.js,cassandra,pm2,cassandra-driver,Node.js,Cassandra,Pm2,Cassandra Driver,我一直试图通过Datastax查找有关Node.js Cassandra驱动程序的Cassandra会话的信息。我读到一篇文章说cassandra驱动程序自动管理会话,我不需要调用client.shutdown() 我正在寻找有关cassandra驱动程序如何管理会话的一般信息,如何查看所有活动的cassandra会话,以及是否需要调用shutdown(),或者每次运行脚本时都必须重新打开会话是否会适得其反 基于“pm2信息”,我没有看到大量的活动句柄,所以我不认为发生了什么错误,但我可能弄错了
基于“pm2信息”,我没有看到大量的活动句柄,所以我不认为发生了什么错误,但我可能弄错了。对于一个小脚本(85mb),Ram的使用率似乎有点高。在DataStax驱动程序中,会话是一个有状态的对象,处理连接池并随时了解集群中节点的状态(避免向不可用的节点发送请求)。TCP套接字是打开的,最好在不再需要时关闭它。请参见此处以获取更多信息: 现在session.connect()可能需要一些时间:集群中的节点越多,打开到每个节点的连接的时间就越长。这就是为什么在使用FAAS时,最好在“冷启动”中初始化连接(避免为每个请求打开/关闭) 因此:
在处理程序外部创建客户端,设置
context.callbackaitsforeptyeventloop=false
,不要调用client.shutdown
不需要关闭连接的声明的来源是什么?我只能在没有明确设置为关闭连接的情况下找到报告的问题,就像我现在很难找到它一样。我会继续找的。