【问题标题】:Setting a connection timeout with Mysql Ruby使用 Mysql Ruby 设置连接超时
【发布时间】:2011-11-11 22:02:33
【问题描述】:

我正在使用 mysql (5.1) ruby​​ (1.8.7) 连接器从数据库中提取一些数据。有些查询的运行时间往往比预期的要长,所以我想在这些查询上设置一个连接超时。 related post提出的解决方案如下:

require 'rubygems'
require 'mysql'

# connect to the database
db = Mysql.real_connect( 'server', 'user', 'password', 'schema' )

# configure read timeout
db.options(Mysql::OPT_READ_TIMEOUT, 10)

# query and process
begin

  db.query("select * from ..").each_hash do |row|
    # process data if query returned 
  end

rescue Mysql::Error => err
  # handle timeout
end

但是,这似乎对我不起作用。任何想法为什么以及如何完成我所追求的?谢谢。

【问题讨论】:

    标签: mysql ruby configuration connection-timeout


    【解决方案1】:

    您可能需要在实际连接之前设置选项。

    db = Mysql.init
    db.options(Mysql::OPT_READ_TIMEOUT, 10)
    db.real_connect( 'server', 'user', 'password', 'schema' )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-19
      • 1970-01-01
      • 2019-07-26
      • 2012-05-01
      • 2014-11-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多