diehard
diehard copied to clipboard
Clojure resilience library for flexible retry, circuit breaker and rate limiter
is there an equivalent construct here that allows something like this: ```clojure (require '[diehard.core :as dh]) (dh/with-retry {:retry-on TimeoutException :max-retries 3} (fetch-data-from-the-moon-future)) ``` where `fetch-data-from-the-moon-future` is a `future(...)` and of...
First of all, thank you for diehard 🙏 I'm having a hard time setting up some of the circuit breaker options. In particular, the following keys are documented, but not...
Add support for Failsafe retry in async scenario. This is not needed by myself at the moment but it would be nice to have it supported from the library.
allow :rate-limiter/rate to be floats, to have floating points rates (0.5 => 1 req every 2 seconds)
Thank you for such a wonderful library — I am using this library so often when I hit external API endpoints. Recently, I started using it to query the OpenAI...
I think the value returned from the `:fallback` on `with-retry` is not used. I can reproduce this by modifying the [fallback test](https://github.com/sunng87/diehard/blob/11f7c0796a37cb5817160ab8f7da78fdcf220395/test/diehard/core_test.clj#L151C3-L156). ``` (deftest fallback ;; This is the original...
I'd like to throw an exception when retries are exceeded. Per https://failsafe.dev/faqs/#how-to-i-throw-an-exception-when-retries-are-exceeded, here's what they recommend (and what works on my machine): ```java // Retry on a null result RetryPolicy...
I was trying to upgrade from `0.11.3` to `0.11.6` and one of my tests failed with this. Still investigating but possibly related to e82bf79560f1365f50a38f5e8f40714a3f6be53b? ``` #error { :cause "class java.time.Instant...