gpt4 book ai didi

Ruby 脚本卡在错误的 PG 连接调用上

转载 作者:数据小太阳 更新时间:2023-10-29 07:36:27 25 4
gpt4 key购买 nike

我有一个连接到 postgres 数据库的 Ruby 脚本,运行一些查询,然后关闭/返回数据给用户。

脚本工作正常,但如果我给它一个错误的主机名,整个脚本就会挂起,我必须按 ctrl-Z 退出它。我知道要解决这个问题,我需要研究 postgres 的 libpq 后端,但我对如何将它全部包装到我的 ruby​​ 脚本中感到茫然。我正在使用 Ruby 1.8pg gem 来处理 postgres 的东西,调用打开连接:

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

(options 和 tty 只是空白字符串)

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

最佳答案

有一个 connect_timeout 选项,所以你可以这样做:USING STRINGconnection_string = "host=YOUR_HOST port=YOUR_PORT connect_timeout=YOUR_TIMEOUT PERIOD"PGconn.connect(连接字符串)

PGconn.connect 还提供了更像 ruby​​esque 的哈希表示法

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

您还可以将其包装在 begin rescue 中,这样如果连接超时,您的其余代码将不会运行

免责声明:我还没有实际测试过这个,但它是 pg gem 文档的一部分

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

关于Ruby 脚本卡在错误的 PG 连接调用上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14163943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com