Retry

object Retry extends LogSupport

Retry logic implementation helper

Retry logic implementation helper

trait LogSupport
trait LazyLogger
trait LoggingMethods
trait Serializable
class Object
trait Matchable
class Any

Type members

Classlikes

class ExponentialBackOff(val retryPolicyConfig: RetryPolicyConfig) extends RetryPolicy
case class ExtraWait(maxExtraWaitMillis: Int, factor: Double)
class Jitter(val retryPolicyConfig: RetryPolicyConfig, rand: Random) extends RetryPolicy
case class MaxRetryException(retryContext: RetryContext) extends Exception
case object NOT_STARTED extends Exception
case class RetryContext(context: Option[Any], lastError: Throwable, retryCount: Int, maxRetry: Int, retryWaitStrategy: RetryPolicy, nextWaitMillis: Int, baseWaitMillis: Int, extraWaitMillis: Int, resultClassifier: Any => ResultClass, errorClassifier: Throwable => Failed, beforeRetryAction: RetryContext => Any)
case class RetryPolicyConfig(initialIntervalMillis: Int, maxIntervalMillis: Int, multiplier: Double)
case class RetryableFailure(e: Throwable) extends Exception

Value members

Concrete methods

def nonRetryableFailure(e: Throwable): Failed
def retryableFailure(e: Throwable): Failed
def withBackOff(maxRetry: Int, initialIntervalMillis: Int, maxIntervalMillis: Int, multiplier: Double): RetryContext
def withBoundedBackoff(initialIntervalMillis: Int, maxTotalWaitMillis: Int, multiplier: Double): RetryContext
def withJitter(maxRetry: Int, initialIntervalMillis: Int, maxIntervalMillis: Int, multiplier: Double): RetryContext

Inherited methods

inline protected def debug(inline message: Any, inline cause: Throwable): Unit
Inherited from
LoggingMethods
inline protected def debug(inline message: Any): Unit
Inherited from
LoggingMethods
inline protected def error(inline message: Any, inline cause: Throwable): Unit
Inherited from
LoggingMethods
inline protected def error(inline message: Any): Unit
Inherited from
LoggingMethods
inline protected def info(inline message: Any, inline cause: Throwable): Unit
Inherited from
LoggingMethods
inline protected def info(inline message: Any): Unit
Inherited from
LoggingMethods
inline protected def logAt(inline logLevel: LogLevel, inline message: Any): Unit
Inherited from
LoggingMethods
inline protected def trace(inline message: Any, inline cause: Throwable): Unit
Inherited from
LoggingMethods
inline protected def trace(inline message: Any): Unit
Inherited from
LoggingMethods
inline protected def warn(inline message: Any, inline cause: Throwable): Unit
Inherited from
LoggingMethods
inline protected def warn(inline message: Any): Unit
Inherited from
LoggingMethods