首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >防止Mongrel/Mysql Errno::EPIPE异常

问防止Mongrel/Mysql Errno::EPIPE异常
EN

Stack Overflow用户
提问于 2008-09-25 04:29:39
回答 2查看 701关注 0票数 0

我有一个rails应用程序,我很少频繁地提供XML。这是与mongrel和mysql一起运行的。我发现,如果我不使用这个应用程序超过几个小时,它就会死掉,并开始抛出Errno::EPIPE错误。看来mysql连接由于不活动或诸如此类的原因而超时。

它可以通过'mongrel_rails重新启动-P /path/to/mongrel.pid‘重新启动。但这并不是真正的解决方案。我的合作者希望当他在工作的时候,这个应用会在那里(我很可能不在身边)。

我的问题是:

  • ,我能做些什么来防止这个问题在第一位出现?(例如,不要给我计时out!!).
  • Failing,我可以在某个地方插入一些代码来自动重新构建Db连接吗?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2008-09-25 06:10:23

这里有一个解决方案:

https://boxpanel.blueboxgrp.com/public/the_vault/index.php/Mongrel_/_MySQL_Timeout

对我来说,上述解决方案的超时时间似乎有点高。您不希望您的DB超时太低,因为连接可以使用的内存量。如果连接是孤立的,您希望它合理地超时(比如一周内不需要)。

票数 1
EN

Stack Overflow用户

发布于 2008-09-27 16:33:08

在其他地方,我也有以下建议:

尝试将config.active_record.verification_timeout设置为低于连接超时设置的值。

  1. 有一个gem来解决这个问题:mysql_retry_lost_connection

http://rubyforge.org/projects/zventstools/“当您遇到丢失的连接错误时重新连接到MySQL服务器”.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/131481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档