Skip to content

ObanSentinel v0.1.0- initial release

Latest

Choose a tag to compare

@magnexis magnexis released this 30 Jul 18:55

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.