检测R中的功能超过预期

时间:2018-04-21 05:29:18

标签: r

我实现了一个有时会陷入无限循环的函数。简而言之,它使用rvest从Web抓取数据,并在获取数据时暂停。这种情况非常罕见,例如每月一次,但是很重要,因此,我希望在时间限制内检测它,即它需要超过预期。我想知道是否有标准方法可以做到这一点。

我知道有一个R库可以做到,如果我没记错的话,我在一年前阅读了这篇文章,但我没有去谷歌。

1 个答案:

答案 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");