Ruby 在 n *milli* 秒后超时一段代码

Posted

技术标签:

【中文标题】Ruby 在 n *milli* 秒后超时一段代码【英文标题】:Ruby timeout a block of code after n *milli* seconds 【发布时间】:2011-01-10 03:38:54 【问题描述】:

在 Ruby 中,我需要在 n milli 秒后超时执行一段代码。我知道 Ruby Timeout 库支持 内的超时:

http://ruby-doc.org/stdlib/libdoc/timeout/rdoc/index.html

这可能吗?

【问题讨论】:

我想知道如果您只是将小数传递给该方法会发生什么。 十进制,克雷格的意思是:0.010、0.5等 如果您查看超时的源代码,您会发现它只是将参数传递给 Kernel#sleep,这将采用小数:“暂停当前线程持续时间秒(可能是任何数字,包括带有小数秒的浮点数)。”所以传递一个小数应该可以。 【参考方案1】:

只需使用十进制值作为超时值。 n 毫秒的示例:

Timeout::timeout(n / 1000.0)  sleep(100) 

【讨论】:

以上是关于Ruby 在 n *milli* 秒后超时一段代码的主要内容,如果未能解决你的问题,请参考以下文章

NSMutableURLRequest 在大约 15 秒后超时。超时设置为 240 秒

尝试在 React 前端渲染 MongoDB 条目 10 秒后超时

GCP java SDK在20秒后抛出套接字连接超时

在将 aws lambda 与 redis 连接时,任务在 23.02 秒后超时错误

Ruby:Net::HTTP 空闲超时?

60秒后Apache Web服务器超时