recordFailure static method
void
recordFailure(
- String operationName
)
Implementation
static void recordFailure(String operationName) {
final current = _circuits[operationName] ??
_CircuitState(
failureCount: 0,
isOpen: false,
lastFailure: DateTime.now(),
resetTimeout: const Duration(minutes: 1),
);
final newFailureCount = current.failureCount + 1;
final shouldOpen = newFailureCount >= 3; // Open after 3 failures
_circuits[operationName] = _CircuitState(
failureCount: newFailureCount,
isOpen: shouldOpen,
lastFailure: DateTime.now(),
resetTimeout: Duration(minutes: newFailureCount), // Exponential backoff
);
if (shouldOpen) {
ObslyLogger.warn(
'Circuit breaker opened for $operationName after $newFailureCount failures');
}
}