代码之家  ›  专栏  ›  技术社区  ›  Seth Ladd

如何为SQL Server的Ruby ODBC驱动程序设置超时?

  •  2
  • Seth Ladd  · 技术社区  · 16 年前

    我想知道如何在连接到SQL Server时显式设置Ruby DBI ODBC驱动程序的超时。我希望长时间运行的查询只是超时并取消它们自己,从而节省更多的服务器资源和Rails进程。

    这是在我们使用基于ADO的Ruby驱动程序时发生的,但现在我们已经切换到DBD::ODBC,我们不再经历超时。

    我四处查看了一下,但找不到如何设置查询超时值。我尝试在驱动程序中显式设置一些值,并在DSN配置中为连接指定超时和ConnectionTimeout以及Connect Timeout。不走运。

    非常感谢您的提示和建议。

    谢谢 赛斯

    1 回复  |  直到 16 年前
        1
  •  0
  •   thnetos    16 年前

    把整个查询包装在Ruby的内置超时库中怎么样?

    require 'timeout'
    
    begin
      Timeout::timeout(5) {
        @db.query(...)
      }
    rescue Timeout::Error
      puts "Too slow, forget about it."
    end
    
    推荐文章