- 论坛徽章:
- 0
|
各位ruby高手们,有一个ruby超时控制的问题急需请教?我用ruby去连接数据库的ruby代码的例子如下(testdb.rb):
require 'rubygems'
require 'dbi'
puts "Begin Conn"
dbh=DBI.connect('DBI:OCI8 rcl','sgpm','sgpm')
puts "connect db is OK!"
dbh.disconnect
我们用的是Solaris系统开发,我在终端上运行ruby testdb.rb时通常很快就会输出connect db is ok的消息,但是有时候在输出Begin Conn后光标一直停在那里,然后过了好几分钟后就会出现ORA-12170: TNS:Connect timeout occurred (DBI: atabaseError)这种连接超时的消息。我有用timeout(5)想控制代码使之在5秒钟内返回,但是timeout函数根本就没有起作用还是等了几分钟。请教各位高手:(我想控制代码在在5秒中内执行完,即:如果5秒中内没有连接数据库成功的话我要强制退出程序。)这个功能如何实现呢?
在网上找了很久都没有找到解决的办法,恳求有ruby高手能够帮忙解决,万分感谢!!! |
|