代码之家  ›  专栏  ›  技术社区  ›  Peter

Ruby中的限时计算

  •  4
  • Peter  · 技术社区  · 15 年前

    我想在Ruby中运行一个任务长达(比如)10秒,如果任务需要更长的时间,就杀死它。这是为了防止挂起外部进程。实现这一点的最佳方法是什么?特别是,如何编写函数 for_up_to_10_seconds 下面?

    loop do
      for_up_to_10_seconds do
        # something
      end
    end
    
    1 回复  |  直到 15 年前
        1
  •  7
  •   severin    15 年前

    http://www.ruby-doc.org/core/classes/Timeout.html

    loop do
      Timeout.timeout(10) do
        # something
      end
    end