ruby(rails) 程序如何 连接 各种远程数据库?

Python09

ruby(rails) 程序如何 连接 各种远程数据库?,第1张

在使用Cookie.find等操作的时候,就会连接到database.yml中monitor_spider配置的数据库上操作。以前一直都这么用,没发现什么不妥。最近一个项目,由于启动的进程比较多,老是碰到数据库连接池链接获取超时的错误。

通过MySQL Client用命令:show processlist发现数据库连接数量一直居高不下,轻轻松松就上2k+的连接。通过读Rails框架的connection_pool.rb文件代码,发现在各模型中用establish_connection连接数据库会造成很大的问题。文件中类ConnectionHandler的establish_connection方法代码如下:Ruby代码 def establish_connection(name, spec) @connection_pools[name] = ConnectionAdapters::ConnectionPool.new(spec) end def establish_connection(name, spec)

@connection_pools[name] = ConnectionAdapters::ConnectionPool.new(spec)

make的时候需要调用ruby很多编译前的参数.一些信息make不知道的话会不知道如何建库.

我个人的建议是根据你安装的ruby路径和版本信息把配置选项补充全.下面是我电脑上面的配置,你可以借鉴一下.据我分析应该能解决你的问题.

Provided configuration options:

--with-opt-dir

--with-opt-include

--without-opt-include=${opt-dir}/include

--with-opt-lib

--without-opt-lib=${opt-dir}/usr/lib

--with-make-prog

--without-make-prog

--srcdir=.

--curdir

--ruby=/usr/local/ruby-2.1.2/rubies/ruby-2.1.2/bin/ruby