* re-namespace * optimize usings * more usings * more of the same * more implicit/global usings * cleanup all usings * minor fixes
38 lines
1.4 KiB
C#
38 lines
1.4 KiB
C#
using ErsatzTV.Core.Health;
|
|
using ErsatzTV.Core.Health.Checks;
|
|
|
|
namespace ErsatzTV.Infrastructure.Health;
|
|
|
|
public class HealthCheckService : IHealthCheckService
|
|
{
|
|
private readonly List<IHealthCheck> _checks;
|
|
|
|
// ReSharper disable SuggestBaseTypeForParameterInConstructor
|
|
public HealthCheckService(
|
|
IFFmpegVersionHealthCheck ffmpegVersionHealthCheck,
|
|
IFFmpegReportsHealthCheck ffmpegReportsHealthCheck,
|
|
IHardwareAccelerationHealthCheck hardwareAccelerationHealthCheck,
|
|
IMovieMetadataHealthCheck movieMetadataHealthCheck,
|
|
IEpisodeMetadataHealthCheck episodeMetadataHealthCheck,
|
|
IZeroDurationHealthCheck zeroDurationHealthCheck,
|
|
IFileNotFoundHealthCheck fileNotFoundHealthCheck,
|
|
IVaapiDriverHealthCheck vaapiDriverHealthCheck,
|
|
IErrorReportsHealthCheck errorReportsHealthCheck)
|
|
{
|
|
_checks = new List<IHealthCheck>
|
|
{
|
|
ffmpegVersionHealthCheck,
|
|
ffmpegReportsHealthCheck,
|
|
hardwareAccelerationHealthCheck,
|
|
movieMetadataHealthCheck,
|
|
episodeMetadataHealthCheck,
|
|
zeroDurationHealthCheck,
|
|
fileNotFoundHealthCheck,
|
|
vaapiDriverHealthCheck,
|
|
errorReportsHealthCheck
|
|
};
|
|
}
|
|
|
|
public Task<List<HealthCheckResult>> PerformHealthChecks() =>
|
|
_checks.Map(c => c.Check()).SequenceParallel().Map(results => results.ToList());
|
|
} |