Wrap a function to wait between executionsSource:
slowly() takes a function and modifies it to wait a given
amount of time between each call.
slowly(f, rate = rate_delay(), quiet = TRUE)
A function to modify, specified in one of the following ways:
A named function, e.g.
An anonymous function, e.g.
\(x) x + 1or
function(x) x + 1.
A formula, e.g.
~ .x + 1. Only recommended if you require backward compatibility with older versions of R.
A rate object. Defaults to a constant delay.
Hide errors (
TRUE, the default), or display them as they occur?
A function that takes the same arguments as
.f, but returns
a different value, as described above.
This function is called an adverb because it modifies the effect of a function (a verb). If you'd like to include a function created an adverb in a package, be sure to read faq-adverbs-export.
# For these example, we first create a custom rate # with a low waiting time between attempts: rate <- rate_delay(0.1) # slowly() causes a function to sleep for a given time between calls: slow_runif <- slowly(\(x) runif(1), rate = rate, quiet = FALSE) out <- map(1:5, slow_runif) #> Retrying in 0.1 seconds. #> Retrying in 0.1 seconds. #> Retrying in 0.1 seconds. #> Retrying in 0.1 seconds.