【发布时间】:2011-09-05 20:06:00
【问题描述】:
我正在编写一个函数,它需要在 ping 基于 Web 的 API 时捕获速率限制错误。
我正在使用tryCatch 来捕获错误,并在此函数中指定以下错误函数:
error=function(e) {
warning(paste(e,"\nWaiting an hour for rate limit to reset..."))
Sys.sleep(3600) # Wait an hour for rate-limit to reset
return(user.info(user, ego.count))
}
该功能似乎可以工作,但在检查脚本的输出日志时,我注意到警告消息直到在睡眠时间用完后才写入。
我可以在 R 控制台上重现此行为:
print("Drew sucks")
Sys.sleep(10)
在Drew sucks 打印到控制台之前十秒钟过去了。在我的函数中,我想在暂停发生之前向用户提供一些关于这个长时间暂停的反馈。
是什么导致了这种行为?
【问题讨论】: