如何在RethinkDB中强制关闭打开的连接?

时间:2015-09-18 10:28:32

标签: ruby sinatra database-connection rethinkdb rethinkdb-ruby

我在使用RethinkDB打开连接时遇到问题。如果我的Sinatra后端应用程序方法发生错误,则不会关闭与Rethink的连接。因此,打开的连接数量会逐渐增加。

这导致打开的连接太多,导致错误:

Error: the RethinkDB database is not available

所以问题是双重的:首先要帮助我;如何关闭打开的Rethink连接? 其次,如何避免开放连接的建立?我应该为每次拨打后端打开一个连接,还是应该只在我的应用启动时打开与Rethink的连接?

Rethink看起来很有希望,但是我会非常感激一点帮助!

2 个答案:

答案 0 :(得分:0)

您可以通过调用.close返回的连接对象上的connect来关闭连接。只要在完成后关闭这些连接,每次打电话到后端就可以打开一个连接。 (一般来说,RethinkDB可以同时支持大量开放连接,除非它在低资源系统上运行或者OS配置为限制打开连接的数量。)

答案 1 :(得分:0)

我认为现在没有办法在RethinkDB中做到这一点。我打开了一个GitHub问题:github.com/rethinkdb/rethinkdb/issues/4873。在此期间,一个选项是使用tcpkill(或类似的东西)来终止连接。