Files
tiku-backend.net/Tiku.Infrastructure/Observability/DependencyReadinessProbe.cs
xiong 33375a38d7
Some checks failed
ci / release-gate (push) Has been cancelled
refactor(architecture): harden module boundaries
2026-08-04 12:10:36 +08:00

16 lines
706 B
C#

using Tiku.Application.Security;
using Tiku.Infrastructure.Persistence;
namespace Tiku.Infrastructure.Observability;
internal sealed class DependencyReadinessProbe(
IJobsOperationsPersistence jobsOperationsPersistence,
IRedisSecurityStore redisSecurityStore) : IDependencyReadinessProbe
{
public async Task<DependencyReadiness> CheckAsync(CancellationToken cancellationToken = default)
{
var database = await jobsOperationsPersistence.Database.CanConnectAsync(cancellationToken);
var redis = !redisSecurityStore.IsConfigured || await redisSecurityStore.PingAsync(cancellationToken);
return new DependencyReadiness(database && redis, DateTimeOffset.UtcNow);
}
}