Utilities for retrying Elixir functions, with configurable delay and backoff.
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

GenRetry

wercker status Hex.pm Version

GenRetry provides utilities for retrying Elixir functions, with configurable delay and backoff characteristics.

Examples

my_background_function = fn ->
  :ok = try_to_send_tps_reports()
end
GenRetry.retry(my_background_function, retries: 10, delay: 10_000)
my_future_function = fn ->
  {:ok, val} = get_val_from_flaky_network_service()
  val
end
t = GenRetry.Task.async(my_future_function, retries: 3)
my_val = Task.await(t)  # may raise exception

Full Documentation

Full gen_retry documentation is available on Hexdocs.pm.

Authorship and License

GenRetry is copyright 2016 Appcues, Inc.

GenRetry is released under the MIT License.