我实现了一个有时会陷入无限循环的函数。简而言之,它使用rvest从Web抓取数据,并在获取数据时暂停。这种情况非常罕见,例如每月一次,但是很重要,因此,我希望在时间限制内检测它,即它需要超过预期。我想知道是否有标准方法可以做到这一点。
我知道有一个R库可以做到,如果我没记错的话,我在一年前阅读了这篇文章,但我没有去谷歌。
答案 0 :(得分:2)
有一个功能(withTimeout
)可以提供帮助。该函数在" R.utils"中定义。包装为:
withTimeout(expr, envir=parent.frame(), timeout, cpu=timeout, elapsed=timeout,
onTimeout=c("error", "warning", "silent"), ...)
R documentation
中提供的示例代码:
res <- withTimeout({
foo(); # Function to be called foo
}, timeout=1.08, onTimeout="silent");