This is useful for functions that are "flaky", such as curl, which may fail for unknown reasons that do not persist.

retry(
expr,
envir = parent.frame(),
retries = 5,
exponentialDecayBase = 1.3,
silent = TRUE
)

## Arguments

expr Quoted expression to run, i.e., quote(...) The environment in which to evaluate the quoted expression, default to parent.frame(1) Numeric. The maximum number of retries. Numeric > 1.0. The delay between successive retries will be runif(1, min = 0, max = exponentialDecayBase ^ i - 1) where i is the retry number (i.e., follows seq_len(retries)) Logical indicating whether to try silently.