Health check results are stored in memory and updated as required

This commit is contained in:
Mark McDowall
2014-04-09 17:15:13 -07:00
parent 0c71b7c5d0
commit 3f4c1a16f8
21 changed files with 188 additions and 75 deletions
@@ -6,7 +6,7 @@ using NzbDrone.Common.Processes;
namespace NzbDrone.Core.HealthCheck.Checks
{
public class MonoVersionCheck : IProvideHealthCheck
public class MonoVersionCheck : HealthCheckBase
{
private readonly IProcessProvider _processProvider;
private readonly Logger _logger;
@@ -18,11 +18,11 @@ namespace NzbDrone.Core.HealthCheck.Checks
_logger = logger;
}
public HealthCheck Check()
public override HealthCheck Check()
{
if (!OsInfo.IsMono)
{
return null;
return new HealthCheck(GetType());
}
var output = _processProvider.StartAndCapture("mono", "--version");
@@ -38,12 +38,28 @@ namespace NzbDrone.Core.HealthCheck.Checks
if (version >= new Version(3, 2))
{
_logger.Debug("mono version is 3.2 or better: {0}", version.ToString());
return null;
return new HealthCheck(GetType());
}
}
}
return new HealthCheck(HealthCheckResultType.Warning, "mono version is less than 3.2, upgrade for improved stability");
return new HealthCheck(GetType(), HealthCheckResult.Warning, "mono version is less than 3.2, upgrade for improved stability");
}
public override bool CheckOnConfigChange
{
get
{
return false;
}
}
public override bool CheckOnSchedule
{
get
{
return false;
}
}
}
}