Schedule defines a composable policy for retrying or repeating effects.
Learn more about Mintlify
Enter your email to receive updates about new features and product releases.
API reference for the Schedule type - composable retry and repeat policies
Schedule defines a composable policy for retrying or repeating effects.
interface Schedule<Out, In = unknown, R = never>
const forever: Schedule<number>
const once: Schedule<void>
const recurs: (n: number) => Schedule<number>
const exponential: (base: Duration, factor?: number) => Schedule<Duration>
const fibonacci: (one: Duration) => Schedule<Duration>
const union: <Out2, In2, R2>(that: Schedule<Out2, In2, R2>) => <Out, In, R>(self: Schedule<Out, In, R>) => Schedule<[Out, Out2], In & In2, R | R2>
const intersect: <Out2, In2, R2>(that: Schedule<Out2, In2, R2>) => <Out, In, R>(self: Schedule<Out, In, R>) => Schedule<[Out, Out2], In & In2, R | R2>
import { Schedule, Effect } from "effect"
const policy = Schedule.exponential("100 millis").pipe(
Schedule.union(Schedule.recurs(5))
)
Effect.retry(myEffect, policy)