class Session::CircuitBreaker

Overview

Circuit Breaker implementation for resilient service calls

Defined in:

retry.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(config : CircuitBreakerConfig = CircuitBreakerConfig.new) #

[View source]

Instance Method Detail

def allow_request? : Bool #

Check if circuit allows requests


[View source]
def call(&block : -> T) : T forall T #

Execute a block with circuit breaker protection


[View source]
def config : CircuitBreakerConfig #

[View source]
def failure_count : Int32 #

[View source]
def last_failure_time : Time | Nil #

[View source]
def reset! #

Manually reset the circuit breaker


[View source]
def state : CircuitState #

[View source]
def time_until_retry : Time::Span | Nil #

Get time remaining until circuit retry


[View source]