ObanSentinel v0.1.0
Initial public release of ObanSentinel: a telemetry-driven resilience layer for Oban workers and queues.
Highlights
- Worker-level circuit breaker with rolling success/failure windows
- Configurable failure thresholds, minimum sample counts, cooldowns, and per-worker policies
- Automatic queue pausing and optional recovery through Oban
- Safe :emit_only mode for alerting without controlling queues
- Worker execution guards for maximum duration and process-memory limits
- Structured guard errors for duration and memory breaches
- Telemetry events for circuit trips, recoveries, and guard-limit violations
- Optional webhook notifications with URL validation and non-blocking delivery
- ETS-backed event tracking designed to keep the telemetry path lightweight
- Oban plugin integration via ObanSentinel.Plugin
- Documentation, configuration reference, architecture notes, security policy, contributing guide, and GitHub Pages documentation site
- GitHub Actions checks for formatting, compilation, tests, and Hex package builds
Compatibility
- Elixir 1.15+
- Oban 2.x
- Erlang/OTP versions supported by the project CI matrix
Installation
def deps do
[
{:oban_sentinel, "~> 0.1.0"}
]
end
Notes
This is the first public release. Monitor circuit-breaker thresholds carefully in staging before enabling automatic queue pausing in production.