QueueKeeperCheck.Checks (queue_keeper_check v0.2.1)

Copy Markdown View Source

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.

Summary

Functions

backlog(repo, cfg, now, qopts)

cancelled(repo, cfg, now, qopts)

cron_missing(repo, cfg, now, qopts)

discarded(repo, cfg, now, qopts)

hanging(repo, cfg, now, qopts)

orphaned(repo, cfg, now, qopts)

retry_storm(repo, cfg, now, qopts)

stalled(repo, cfg, now, qopts)