Introduce a process-wide DatabaseCircuitBreaker that fails fast when Postgres is unavailable (e.g. disk full) instead of letting every request burn doomed EF Core retries. CircuitAwareExecutionStrategy derives from NpgsqlRetryingExecutionStrategy and records success/failure around the public Execute/ExecuteAsync seams; background workers skip work and back off while the circuit is open; the exception middleware maps an open circuit (and other DB outages) to 503. Adds /health (liveness) and /health/ready (readiness, reporting circuit state), plus unit tests for the open/half-open transitions and non-transient SQLSTATE detection. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| DatabaseCircuitBreakerTests.cs | ||
| LivePlatformCatalogTests.cs | ||
| LiveRecorder.Tests.csproj | ||
| LiveRoomServiceLocalParsingTests.cs | ||
| LiveRoomStatusServiceTests.cs | ||
| SystemSettingsServiceTests.cs | ||
| Usings.cs | ||