加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Ruby脚本挂起错误的PG连接调用

发布时间:2020-12-17 02:15:04 所属栏目:百科 来源:网络整理
导读:我有一个 Ruby脚本,它连接到postgres数据库,运行一些查询,然后关闭/返回给用户的数据. 该脚本工作正常,但如果我给它一个错误的主机名,整个脚本就会挂起,我必须ctrl-Z出来.我知道为了解决这个问题,我需要查看postgres的libpq后端,但我对于如何将它全部包装到
我有一个 Ruby脚本,它连接到postgres数据库,运行一些查询,然后关闭/返回给用户的数据.

该脚本工作正常,但如果我给它一个错误的主机名,整个脚本就会挂起,我必须ctrl-Z出来.我知道为了解决这个问题,我需要查看postgres的libpq后端,但我对于如何将它全部包装到我的ruby脚本中感到很遗憾.
我正在使用Ruby 1.8和pg gem处理postgres的东西,调用open open:

myConnection = PGconn.connect(host,port,pgOptions,pgTTY,name,user,password)

(options和tty只是空字符串)

任何帮助/提示/建议都会很棒!

解决方法

有一个connect_timeout选项,您可以这样做:USING STRING
connection_string =“host = YOUR_HOST port = YOUR_PORT connect_timeout = YOUR_TIMEOUT PERIOD”
PGconn.connect(connection_string)

PGconn.connect还提供了更多rubyesque哈希表示法

:host => YOU_HOST,:port => YOUR_PORT,:connect_timeout => YOUR_TIMEOUT_PERIOD

此外,您可以将其包装在开始救援中,以便在连接超时时,其余代码不会运行

免责声明:我实际上没有对此进行测试,但它是pg gem文档的一部分

http://deveiate.org/code/pg/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读