Ruby 如何在正在运行的任务上实现超时?

Ruby 如何在正在运行的任务上实现超时?,ruby,networking,Ruby,Networking,我需要编写一个ruby块来轮询远程网络服务。因为是网络之爱,我需要强制执行几个条件: 如果未完成,X分钟后超时 如果没有响应,API调用超时 ruby中是否有我可以使用的执行库或等效库?我需要基本上设置一个线程在后台运行并阻止它的执行,然后期望线程的状态/返回值(block)并根据结果进行操作 由于对ruby有些陌生,请检查ruby的Std库。尝试以下方法: Timeout.timeout(60) do #time is sec #your code end rescue Ti

我需要编写一个ruby块来轮询远程网络服务。因为是网络之爱,我需要强制执行几个条件:

  • 如果未完成,X分钟后超时
  • 如果没有响应,API调用超时
ruby中是否有我可以使用的执行库或等效库?我需要基本上设置一个线程在后台运行并阻止它的执行,然后期望线程的状态/返回值(block)并根据结果进行操作


由于对ruby有些陌生,请检查ruby的Std库。

尝试以下方法:

Timeout.timeout(60) do #time is sec
  #your code    
end

rescue Timeout::Error
  #rescue code
end

你怎么称呼那个网络服务?你能展示一些代码来看看到底发生了什么吗?这一点很重要,因为我们不能假设您已经或将如何呼叫您的服务,如果我们提出一些不适用于您的案例的示例,那么对您和应答者来说都是浪费时间。