Я пишу функцию, которая должна отлавливать ошибку ограничения скорости при пинге веб-интерфейса 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
будет напечатано на консоли.В своей функции я хотел бы предоставить некоторую обратную связь пользователю об этой длинной паузе до ее возникновения.
Что вызывает такое поведение?