0

生产中存在一个特殊的一致性问题。即时运行rails3 + nginx与最新的数据映射器和红宝石企业nginx重启问题

每次部署一个新版本(touch restart.txt)刚刚部署发生后,我得到了一堆错误(发生在不同的请求)。这些错误并不总是相同的:

  • 数据对象::的SQLError:现场数量不匹配:查询

  • 引发ArgumentError过程中丢失连接到MySQL服务器。预期1字段,但查询产生10

  • ArgumentError:字段计数不匹配。预期10个字段,但查询得到1

  • 数据对象::的SQLError:查询过程中丢失连接到MySQL服务器

即时运行的其他应用程序的轨道(2.3 +阿帕奇+红宝石-ENT)与活性记录,我从来没有在重新启动过程中有任何问题

有没有人有一些建议,为什么发生这种情况,以及如何摆脱它?

感谢 安德斯

+0

消息在一段时间后消失还是之后应用程序中断?另外,你有回溯? – Matt

回答

0

你当你做一个须藤杀死-HUP nginx_pid得到同样的错误? (做一个sudo ps aux | grep nginx来获得pid)。

这确实是一组非常奇怪的错误。偶尔在重新启动时仍然有一个会话打开到数据库,导致数据库池出现问题? Rails数据库访问通常是间歇性的,但我可以想象如果你有一个长时间运行的数据库查询正在发生,你试图重新启动Rails。

错误不断变化的事实将导致我相信错误与资源访问有关,而不是与配置有关的问题。