Files
hsuco-cctv-monitoring/HSUCO_CCTV_Monitoring/Worker.cs
2023-03-14 17:30:09 +09:00

54 lines
1.5 KiB
C#

using System.Threading;
namespace HSUCO_Server_Monitoring
{
public class Worker
{
public delegate void MessageHandler(MessageSender sender, int from, StatusResult result);
public event MessageHandler UpdateMessage;
private bool loop = true;
private Config _config;
public Worker(Config config)
{
_config = config;
}
public void Start_NVR()
{
StatusChecker statusChecker = new StatusChecker();
while (loop)
{
for (int i = 0; i < _config.NVR.Count; i++)
{
StatusResult result = statusChecker.Check(_config.NVR[i].IpAddress);
UpdateMessage(MessageSender.NVR, i,result);
}
Thread.Sleep(_config.NVR_DelayTime);
}
}
public void Start_CCTV()
{
int workerCount = _config.CCTV.Count / 50;
StatusChecker statusChecker = new StatusChecker();
while (loop)
{
for (int i = 0; i < _config.CCTV.Count; i++)
{
StatusResult result = statusChecker.Check(_config.CCTV[i].IpAddress);
UpdateMessage(MessageSender.CCTV, i, result);
}
Thread.Sleep(_config.CCTV_DelayTime);
}
}
public void End()
{
loop = false;
}
}
}