# `WardrikTriggers.Scheduler`

Runs each trigger when it comes due. Every node runs one.

A node claims a run by moving the trigger's next run forward in the store, conditional on the
version it read. So each run happens once in the cluster. Each node rereads every trigger every
`:reconcile` milliseconds, to pick up those set on other nodes.

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

# `start_link`

```elixir
@spec start_link(map()) :: GenServer.on_start()
```

Starts the scheduler.

---

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