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

发布于 2024-12-24 18:47:47 字数 134 浏览 1 评论 0原文

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

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

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

By default in Resque the parent process forks and the children processes create a new connection to the database.

This can work, but if you have dozens of workers, MySQL can't keep that many connections opened and starts throwing errors.

What would be the solution to have the children use the MySQL connection of their parent?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

沦落红尘 2024-12-31 18:47:47

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

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

Unfortunately there isn't a safe way to share the MySQL connection from the parent to the children. I think you have two options to consider:

  1. The easiest solution is to tune your MySQL server so that it can accept more connections (ie: http://dev.mysql.com/doc/refman/5.5/en/too-many-connections.html).
  2. Look at alternatives to Resque and/or designs (ie: beanstalkd, Redis, etc) that allow you to avoid creating multiple connections to the MySQL server.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文