我与RethinkDB的开放连接有问题。如果在我的Sinatra后端应用程序方法中出现错误,则不会关闭与Rethink的连接。因此,打开的连接数量慢慢增加。
这会导致打开的连接太多,从而导致错误:
Error: the RethinkDB database is not available
所以问题是双重的:首先,现在帮我;如何关闭打开的重新思考连接?其次,我怎样才能避免建立开放的联系?我应该为每次调用打开一个连接到我的后端,或者我应该在我的应用程序启动时打开一个连接?
重新思考看起来很有希望,但一点帮助将非常感激!
我认为现在RethinkDB没有办法做到这一点。我打开了一个GitHub问题:github.com/rethinkdb/rethinkdb/issues/4873。同时,一个选择是使用tcpkill
(或类似的东西)来终止连接。
可以在connect
返回的连接对象上调用.close
来关闭连接。每次对后端调用打开一个连接应该是可以的,只要在完成后关闭这些连接即可。(一般来说,RethinkDB可以同时支持许多打开的连接,除非它运行在低资源系统上,或者操作系统配置为限制打开的连接数量。)