From 5abb4b52c5d6d0eab7e432b11db20307c4fab07f Mon Sep 17 00:00:00 2001 From: Ricardo Carneiro Date: Sun, 7 Sep 2025 01:07:44 -0300 Subject: [PATCH] fix: ajuste no health check --- .../CriticalServicesHealthCheck.cs | 39 +++---------------- 1 file changed, 5 insertions(+), 34 deletions(-) diff --git a/src/BCards.Web/HealthChecks/CriticalServicesHealthCheck.cs b/src/BCards.Web/HealthChecks/CriticalServicesHealthCheck.cs index 63f193a..843ca6d 100644 --- a/src/BCards.Web/HealthChecks/CriticalServicesHealthCheck.cs +++ b/src/BCards.Web/HealthChecks/CriticalServicesHealthCheck.cs @@ -8,8 +8,8 @@ namespace BCards.Web.HealthChecks; /// /// Health check para serviços CRÍTICOS - falha = ALERTA VERMELHO 🔴 /// - MongoDB (páginas não funcionam) -/// - Stripe (pagamentos não funcionam) -/// - Live Pages (usuários não conseguem acessar páginas) +/// - Stripe (pagamentos não funcionam) +/// - Website (implícito - se este check executa, o site funciona) /// public class CriticalServicesHealthCheck : IHealthCheck { @@ -86,38 +86,9 @@ public class CriticalServicesHealthCheck : IHealthCheck await Task.Delay(1000, cancellationToken); } - // 3. Self Health Check - verificar se o próprio site responde - try - { - var baseUrl = Environment.GetEnvironmentVariable("BASE_URL") ?? "https://bcards.site"; - using var cts = new CancellationTokenSource(TimeSpan.FromSeconds(10)); - using var response = await _httpClient.GetAsync($"{baseUrl}/health", cts.Token); - - if (response.IsSuccessStatusCode) - { - results["website"] = new { status = "healthy", service = "website" }; - _logger.LogDebug("✅ Website principal está respondendo"); - } - else - { - allCritical = false; - criticalFailures.Add("Website"); - results["website"] = new { status = "unhealthy", status_code = (int)response.StatusCode, service = "website" }; - - _logger.LogError("🔴 CRÍTICO: Website principal não responde! Status: {StatusCode}", - (int)response.StatusCode); - await Task.Delay(2000, cancellationToken); // Delay maior para site down - } - } - catch (Exception ex) - { - allCritical = false; - criticalFailures.Add("Website"); - results["website"] = new { status = "unhealthy", error = ex.Message, service = "website" }; - - _logger.LogError(ex, "🔴 CRÍTICO: Website principal inacessível!"); - await Task.Delay(2000, cancellationToken); - } + // 3. Self Health Check removido - se este código está executando, o website já está funcionando + results["website"] = new { status = "healthy", service = "website" }; + _logger.LogDebug("✅ Website está operacional (health check executando)"); var data = new Dictionary {