# `QueueKeeperCheck.Checks`
[🔗](https://github.com/TitaniumMonkey/Queue-keeper-check/blob/v0.2.1/lib/queue_keeper_check/checks.ex#L1)

The individual checks. Each takes `(repo, config, now, query_opts)` and returns a list of
`QueueKeeperCheck.Finding` structs. `QueueKeeperCheck.run/2` wraps each call in
`QueueKeeperCheck.Guard`; call these directly only if you apply your own limits.

Every query is a plain `SELECT` on `oban_jobs` that reads only `id`, `state`, `queue`,
`worker`, `attempt` and timestamp columns. `args`, `meta`, `errors`, `tags` and
`attempted_by` are never selected or filtered on. Each query is either an aggregate
(one row per queue or worker) or capped with `LIMIT`, and each is shaped to use Oban's
standard indexes (`state, queue, priority, scheduled_at, id`; `state, discarded_at`;
`state, cancelled_at`; the primary key). See `docs/SECURITY_REVIEW.md` for the exact SQL
and measured plans.

# `backlog`

# `cancelled`

# `cron_missing`

# `discarded`

# `hanging`

# `orphaned`

# `retry_storm`

# `stalled`

---

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