# `Continuum.Schedules`
[🔗](https://github.com/Yyeger/Continuum/blob/main/lib/continuum/schedules.ex#L1)

Durable one-shot workflow scheduling.

Schedules preallocate a stable run ID. A runner may retry across any crash
window, but the same scheduled occurrence can create at most one run.

# `cancel`

```elixir
@spec cancel(
  binary(),
  keyword()
) :: :ok | {:error, :not_found | :already_started | term()}
```

Cancels a schedule that has not begun starting its run.

# `get`

```elixir
@spec get(
  binary(),
  keyword()
) :: {:ok, map()} | {:error, :not_found | term()}
```

Loads a schedule for operational inspection.

# `schedule_at`

```elixir
@spec schedule_at(module(), term(), DateTime.t(), keyword()) ::
  {:ok, binary()} | {:error, term()}
```

Creates a durable one-shot schedule.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
