如何设置mysql的ActiveRecord查询超时?
如何在ActiveRecord中设置mysql查询超时?我希望将其设置为非常短的时间,例如 10-15 毫秒。这是针对 Sinatra ruby Web 应用程序的。
谢谢。
How can I set the mysql query timeout in ActiveRecord? I wish to set it to something very short, like 10-15ms. This is for a Sinatra ruby web app.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
好吧,根据 mysql_adapter.rb 中的第 29 行和第 30 行,
我们只需将 read_timeout 和 write_timeout 值添加到 .yaml 数据库配置文件中即可。
因此,
应该将读取和写入超时设置为各 1 秒。不幸的是,这不允许您设置亚秒级超时。
Well, it would appear that per these lines 29 and 30 in mysql_adapter.rb,
One need simply only add a read_timeout and write_timeout value to the .yaml database config file.
Thus,
Should do the trick to set read and write timeouts of 1 sec apiece. Unfortunately this does not allow you to set sub-second timeouts.
您还可以在每个连接的基础上设置它,如下所示:
我这样做是为了有一个默认的 read_timeout,但为我的长时间运行的夜间脚本覆盖它。
You could also set it in a per-connection basis like this:
I'm doing this for instance to have a default read_timeout, but override it for my long-running nightly scripts.