Ruby 阻止实例方法打印到控制台
我正在编写一个简单的Ruby脚本,它利用了Ruby 阻止实例方法打印到控制台,ruby,mysql2,puts,Ruby,Mysql2,Puts,我正在编写一个简单的Ruby脚本,它利用了mysql2gem 为了正确终止与数据库的连接并避免出现连接过多错误,我将连接存储到变量mysql中,如下所示: mysql = Mysql2::Client.new(:host => hst, :username => usr, :password => pass, :database => db, :connect_timeout => 30) 然后我关闭连接: mysql.close 发生这种情况时,我得到: cl
mysql2
gem
为了正确终止与数据库的连接并避免出现连接过多
错误,我将连接存储到变量mysql
中,如下所示:
mysql = Mysql2::Client.new(:host => hst, :username => usr, :password => pass, :database => db, :connect_timeout => 30)
然后我关闭连接:
mysql.close
发生这种情况时,我得到:
closed MySQL connection
在控制台中
如果终端中没有显示
已关闭的MySQL连接
,如何实现找到的实例方法#close
def silence_stdout
$stdout = File.new( '/dev/null', 'w' )
yield
ensure
$stdout = STDOUT
end
然后用该方法执行关闭
silence_stdout{mysql.close}
您可以这样做:
def silence_stdout
$stdout = File.new( '/dev/null', 'w' )
yield
ensure
$stdout = STDOUT
end
然后用该方法执行关闭
silence_stdout{mysql.close}
工作起来很有魅力。谢谢你的解决方案。效果很好。感谢您提供的解决方案。
关闭的MySQL连接
实际上是一条错误消息。关闭连接后是否执行任何查询?@stefan这是一个循环,将重试
,直到可以访问db
。那么closed-MySQL-connection
错误意味着什么呢?这意味着您正试图用一个关闭的连接运行一个查询,例如MySQL.close;mysql.query(…)
@stefan你完全正确。谢谢。关闭的MySQL连接
实际上是一条错误消息。关闭连接后是否执行任何查询?@stefan这是一个循环,将重试
,直到可以访问db
。那么closed-MySQL-connection
错误意味着什么呢?这意味着您正试图用一个关闭的连接运行一个查询,例如MySQL.close;mysql.query(…)
@stefan你完全正确。非常感谢。