ElixirRetry
ElixirRetry copied to clipboard
Simple Elixir macros for linear retry, exponential backoff and wait with composable delays
`0.15` -> `0.16` as per https://hex.pm/packages/retry
List of changes: - Fix spdx license id - Add source reference - Fix markdown - Use and set latest ex_doc - Add license section - Badges and more badges!...
Since `retry` is a macro, `use Retry` needs to not `import` Retry but instead `require Retry` because that's what `require` is for
I am running into issues locally when trying to use `retry` and Dialyzer together. When matching on tagged `{:error, msg}` tuples, I get a Dialyzer error that the pattern can...
This PR adds support for more flexible matching on the return value and raised exception for determining whether to retry. Instead of only supporting a list of atoms for each,...
this is a breaking change, but it will allow exceptions to retain their original stack traces when a retry fails
I have a rather simple question, why does this library starts an application? Maybe it'd be nice to explain briefly in the docs. I see that the library makes the...
Problem ------- def call(service, atoms \\ [:retry_error], rescue_only \\ [], fun) do retry with: delay_stream(service), rescue_only: rescue_only, atoms: atoms do # ... fun.() after result -> result else error ->...
I'm using a grpc library that returns 3 element tuple `{:error, [invalid_argument: nil], nil}` on error. I see retry does not handle these kind of errors. Is it possible to...
Let's assume that we have a function like that: ``` @spec foo() :: :ok | {:error, :some_retryable_reason} | {:error, :other_retryable_reason} | {:error, :some_non_retryable_reason} | {:error, :other_non_retryable_reason} def foo() do ......