RubyOnRails多个数据库连接错误

时间:2015-06-08 08:56:46

标签: mysql ruby-on-rails ruby database timeout

我有一个连接到几个MySQL数据库的rails应用程序(ruby 2.0.0,Rails 4.0.1)。 与本地数据库的连接始终正常,这是我的配置:

 production:
  adapter: mysql
  encoding: utf8
  database: xxx
  username: yyy
  password: zzz
  host: x.x.x.x
  port: 3306
  reconnect: true

但是连接到远程数据库经常会返回错误,例如连接到我的radius外部数据库会返回以下错误:

Mysql :: Error:: SELECT 1 AS one FROM WHERE `` radacct` radacct`.`username` =? LIMIT 1

多次更新页面,连接已恢复,我可以正确查看数据。这是我的配置:

 radius:
  port: 3306
  adapter: mysql
  encoding: utf8
  database: xxx
  username: yyy
  password: zzz
  host: x.x.x.x
  reconnect: true
  connect_timeout: 60
  read_timeout: 90
  write_timeout: 90
  checkout_timeout: 10
  reaping_frequency: 30
  dead_connection_timeout: 30

我尝试以不同的方式更改计时器的配置,但问题仍然存在。

连接到radius服务器我创建了以下所有共同的模型:

class RadActiveRecord <ActiveRecord :: Base
   self.abstract_class = true
   establish_connection "radius"
end

例如表radacct使用以下模型:

class RadAcctDetail <RadActiveRecord
   self.table_name = "radacct"
end

有问题的错误是任何查询,例如:

def index
     @rad_acct_details = RadAcctDetail.all.paginate = (
       : order => "radacctid DESC"
       : page => params [: page] || 1
       : per_page => params [: per_page] || 25)
end

有人有任何建议吗?

0 个答案:

没有答案