Learn R Programming

Repeated Evaluation

Github: https://github.com/randy3k/retry

Documentation: https://randy3k.github.io/retry

Provide simple mechanism to repeatedly evaluate an expression until either it succeeds or timeout exceeded. It is useful in situations that random failures could happen.

Installation

You can install the released version of retry from CRAN with:

install.packages("retry")

The development version could be installed with:

devtools::install_github("randy3k/retry")

Example

Some examples of retry and wait_until.

library(retry)

f <- function(x) {
    if (runif(1) < 0.9) {
        stop("random error")
    }
    x + 1
}

# keep retring when there is a random error
retry(f(1), when = "random error")
#> [1] 2
# keep retring until a requirement is satisified.
retry(f(1), until = function(val, cnd) val == 2)
#> [1] 2
# or using one sided formula
retry(f(1), until = ~ . == 2)
#> [1] 2

z <- 0
later::later(function() z <<- 1, 1)
wait_until(z == 1)
z
#> [1] 1

Copy Link

Version

Install

install.packages('retry')

Monthly Downloads

557

Version

0.1.1

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Randy Lai

Last Published

January 23rd, 2024

Functions in retry (0.1.1)

retry-package

retry: Repeated Evaluation
wait_until

Wait until a condition is met
retry

Repeatedly evaluate an expression