Ruby 请教关于 ActiveRecord::ConnectionTimeoutError 的问题

wikimo · 2015年01月03日 · 最后由 wikimo 回复于 2015年04月20日 · 3552 次阅读

单独使用 ActiveRecord,非 rails app,对数据库数据写入比较频繁,通过 yml 配置文件连接 mysql

database.yml

default: &default
  adapter: mysql2
  username: root
  password: wiki
  pool: 20
  timeout: 10000

development:
  <<: *default
  database: db_name
ActiveRecord::Base.establish_connection(DB_CONFIG)

数据通过 rake 任务,使用 activerecord 写入,运行一段时间后出现 ActiveRecord::ConnectionTimeoutError: could not obtain a database connection within 5.000 seconds (waited 5.019 seconds)

修改 yml pool / timeout 似乎都没有效果,给的错误提示还是加载默认值;搜索的解决方案有些是通过修改 pool / timeout,还有是通过 ActiveRecord::ConnectionAdapters::ConnectionManagement,但是最终都没有解决,请教下各位。

我也遇到一样的问题,不知道怎样解决,楼主搞定了吗?

#1 楼 @rd084c 我的使用场景是数据抓取,后来我改进了抓取逻辑,可能对你来说没啥帮助。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号