# queue_keeper_check v0.2.1 - Table of Contents

> Read-only health check for Oban queues: orphaned, hanging, backed-up and stalled queues, retry storms, discard/cancel spikes and missing cron jobs. Postgres, SQLite and MySQL.

## Pages

- [queue_keeper_check](readme.md)
- [Changelog](changelog.md)
- [Security Policy](security.md)
- [queue_keeper_check: security and production-safety review](security_review.md)
- [Oban Pro compatibility](oban_pro_compatibility.md)
- [LICENSE](license.md)

## Modules

- [QueueKeeperCheck](QueueKeeperCheck.md): Read-only health check for Oban queues.
- [QueueKeeperCheck.Checks](QueueKeeperCheck.Checks.md): 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.
- [QueueKeeperCheck.Config](QueueKeeperCheck.Config.md): Thresholds and safety limits. All check durations are in seconds. Pass overrides as
keyword lists
- [QueueKeeperCheck.Finding](QueueKeeperCheck.Finding.md): One detected problem.
- [QueueKeeperCheck.Guard](QueueKeeperCheck.Guard.md): Runs one check's queries under server-side safety limits.
- [QueueKeeperCheck.Release](QueueKeeperCheck.Release.md): Run the check from a release, outside Oban, e.g. from system cron. `mix` isn't available
in releases, so use `eval`, which loads code without starting your application (and
therefore without starting Oban)
- [QueueKeeperCheck.Report](QueueKeeperCheck.Report.md): Result of `QueueKeeperCheck.run/2`.

## Mix Tasks

- [mix queue_keeper.check](Mix.Tasks.QueueKeeper.Check.md):     mix queue_keeper.check --repo MyApp.Repo [--prefix public] [--json]
                           [--statement-timeout MS] [--lock-timeout MS]

