(delay-exp retry-count)
(delay-exp base retry-count)
Calculate an exponential delay in millis.
base - the base number to scale (default 100) retry-count - the number of previous attempts
Calculate an exponential delay in millis. base - the base number to scale (default 100) retry-count - the number of previous attempts
(delay-linear factor retry-count)
Calculate a linear delay in millis.
factor - the linear factor to use retry-count - the number of previous attempts
Calculate a linear delay in millis. factor - the linear factor to use retry-count - the number of previous attempts
(init {_r? :com.potetm.fusebox.retry/retry?
_d :com.potetm.fusebox.retry/delay
:as spec})
Initialize a retry.
spec is map containing: ::retry? - A predicate called after an exception to determine whether body should be retried. Takes three args: eval-count, exec-duration-ms, and the exception/failing value. ::delay - A function which calculates the delay in millis to wait prior to the next evaluation. Takes three args: eval-count, exec-duration-ms, and the exception/failing value. ::success? - (Optional) A function which takes a return value and determines whether it was successful. If false, body is retried. Defaults to (constantly true).
Initialize a retry. spec is map containing: ::retry? - A predicate called after an exception to determine whether body should be retried. Takes three args: eval-count, exec-duration-ms, and the exception/failing value. ::delay - A function which calculates the delay in millis to wait prior to the next evaluation. Takes three args: eval-count, exec-duration-ms, and the exception/failing value. ::success? - (Optional) A function which takes a return value and determines whether it was successful. If false, body is retried. Defaults to (constantly true).
(jitter jitter-factor delay)
Randomly jitter a given delay.
jitter-factor - the decimal jitter percentage, between 0 and 1 delay - the base delay in millis
Randomly jitter a given delay. jitter-factor - the decimal jitter percentage, between 0 and 1 delay - the base delay in millis
(retry* spec f)
DEPRECATED: This was an early mistake. It should have been named with-retry*.
DEPRECATED: This was an early mistake. It should have been named with-retry*.
(with-retry bindings|spec & [spec|body & body :as b])
Evaluates body, retrying according to the provided retry spec.
Evaluates body, retrying according to the provided retry spec.
(with-retry* {succ? :com.potetm.fusebox.retry/success?
retry? :com.potetm.fusebox.retry/retry?
delay :com.potetm.fusebox.retry/delay
:or {succ? always-success}
:as spec}
f)
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close