如何使用Resque在父级和子级之间共享MySQL连接?

mar*_*cgg 6 ruby mysql database ruby-on-rails resque

默认情况下,Resque中的父进程分支和子进程会创建与数据库的新连接.

这可以工作,但如果你有几十个工人,MySQL就无法保持打开很多连接并开始抛出错误.

让孩子们使用他们父母的MySQL连接的解决方案是什么?

小智 3

不幸的是,没有一种安全的方法来共享从父级到子级的 MySQL 连接。我认为你有两个选择可以考虑:

  1. 最简单的解决方案是调整 MySQL 服务器,以便它可以接受更多连接(即: http: //dev.mysql.com/doc/refman/5.5/en/too-many-connections.html)。
  2. 查看 Resque 和/或设计的替代方案(即:beanstalkd、Redis 等),它们可以让您避免创建与 MySQL 服务器的多个连接。