Hyperlinkv0.8.0-beta.28

Schedule

Schedule.durationconsteffect/Schedule.ts:1014
(durationInput: Duration.Input): Schedule<Duration.Duration>

Returns a schedule that recurs once after the specified duration.

When to use

Use when you need a schedule that recurs once after a fixed delay.

Details

The schedule outputs the configured duration for its first recurrence and then completes.

Example (Recurring once after a duration)

import { Console, Effect, Schedule } from "effect"

const program = Effect.repeat(
  Console.log("runs again after one second"),
  Schedule.duration("1 second")
)
constructorsduring
export const duration = (durationInput: Duration.Input): Schedule<Duration.Duration> => {
  const duration = Duration.fromInputUnsafe(durationInput)
  return fromStepWithMetadata(effect.succeed((meta) =>
    meta.attempt === 1
      ? effect.succeed([duration, duration])
      : Cause.done(Duration.zero)
  ))
}