Ruby Sequel + PG:Sequel支持的应用程序中是否需要(DB.disconnect + signal / trap / exit)?

时间:2013-08-21 03:00:48

标签: sequel

来自其他环境(例如nodejs),必须在服务器完成并关闭后关闭数据库连接。我搜索了Sequel的源代码+在线Sequal示例。我看到.disconnect主要是用叉子和线程提到的。

是否有必要在应用程序退出处的信号陷阱中手动调用DB.disconnect?或者连接是否自动关闭?

我只运行一个简单的Rack应用程序,在Unicorn中没有app预加载,只有Postgresql连接。

2 个答案:

答案 0 :(得分:3)

Ruby会在进程关闭时自动关闭数据库连接套接字,因此您无需手动调用DB.disconnect(如果您愿意,也可以。)

答案 1 :(得分:-1)

当您的PHP脚本完成后,PHP将自动对您之前使用的对象和资源执行垃圾回收。由于这个原因,加上大多数脚本在不到十分之一秒内完成的事实,通常没有必要明确断开与MySQL服务器的连接或免除分配给SQL结果的空间。

如果你想知道:

$db->close(); 

关闭当前与数据库的连接(如果在数据库变量中使用)

如果您已完成该脚本的SQL连接,则仅完全关闭与数据库的连接