This commit is contained in:
2025-08-28 16:01:55 +02:00
parent 68b74284c7
commit c7a94893a2
63 changed files with 633 additions and 200 deletions

View File

@@ -1,8 +1,6 @@
using HealthChecksConfigsBase = healthchecks.Options.HealthChecksConfigs;
namespace back.healthchecks.Options;
namespace back.healthchecks.Options;
public partial class HealthChecksConfigs : HealthChecksConfigsBase
public partial class HealthChecksConfigs : MCVIngenieros.Healthchecks.Options.HealthChecksConfigs
{
public const string Sqlite = "Sqlite";
}

View File

@@ -1,12 +1,12 @@
using back.Options;
using healthchecks;
using healthchecks.Abstracts;
using back.healthchecks.Options;
using back.healthchecks.Options;
using back.Options;
using MCVIngenieros.Healthchecks;
using MCVIngenieros.Healthchecks.Abstracts;
using Microsoft.Extensions.Options;
namespace back.healthchecks;
public class SqliteHealthCheck(IOptionsMonitor<DatabaseConfig> databaseConfig, IOptionsMonitor<HealthChecksConfigs> healthchecksConfig) : IHealthCheck
public class SqliteHealthCheck(IOptionsMonitor<DatabaseConfig> databaseConfig, IOptionsMonitor<HealthChecksConfigs> healthchecksConfig) : HealthCheck
{
private readonly DatabaseConfig databaseConfig = databaseConfig.Get(DatabaseConfig.DataStorage);
private readonly HealthChecksConfigs hcConfig = healthchecksConfig.Get(HealthChecksConfigs.Sqlite);
@@ -17,7 +17,7 @@ public class SqliteHealthCheck(IOptionsMonitor<DatabaseConfig> databaseConfig, I
public TimeSpan? RetryDelay => hcConfig.RetryDelay ?? TimeSpan.FromSeconds(1);
public HealthCheckSeverity? Severity => hcConfig.Severity ?? HealthCheckSeverity.Critical;
public Task<HealthCheckResult> CheckAsync(CancellationToken cancellationToken = default)
public override Task<HealthCheckResult> CheckAsync(CancellationToken cancellationToken = default)
{
var isHealthy = false;
var details = string.Empty;
@@ -43,7 +43,7 @@ public class SqliteHealthCheck(IOptionsMonitor<DatabaseConfig> databaseConfig, I
details = $"Failed to connect to SQLite database: {ex.Message}";
}
return Task.FromResult(new HealthCheckResult(isHealthy, null)
return Task.FromResult(new HealthCheckResult(isHealthy)
{
Details = details,
Severity = isHealthy ? HealthCheckSeverity.Info : HealthCheckSeverity.Critical