Retries

au.id.tmm.fetch.retries.Retries$
object Retries

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Retries.type

Members list

Concise view

Type members

Classlikes

final case class EffectTimedOutException(debugMessage: String, lastFailure: Option[Throwable]) extends RuntimeException

Attributes

Graph
Supertypes
trait Product
trait Equals
class RuntimeException
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
object Result

Attributes

Companion:
trait
Graph
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
Result.type
sealed trait Result[+A]

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Continue
class Failed
class Success[A]
final case class T0(asInstant: Instant) extends AnyVal

Represents the time that a task was first registered

Represents the time that a task was first registered

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class AnyVal
trait Matchable
class Any
object T0

Attributes

Companion:
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
T0.type

Value members

Concrete methods

def retry[A, S](policy: RetryPolicy[S])(effect: IO[Result[A]]): IO[A]

Using the given RetryPolicy, waits for the given effect to reach a terminal state.

Using the given RetryPolicy, waits for the given effect to reach a terminal state.

Attributes

effect

an effect to be retried. Uncaught errors will be treated as though a Result.Continue was returned

policy

a policy that describes how the task will be retried

Returns:

an IO value representing the successful terminal state of the task, or any returned Result.Failed error, or an EffectTimedOutException if the task timed out according to the RetryPolicy.