Retry

object Retry extends LogSupport

Retry logic implementation helper

trait LogSupport
trait LazyLogger
trait LoggingMethods
trait Serializable
class Object
trait Matchable
class Any
Retry.type

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