From 85e855b89f37f6784b5f4f1dae227031790c88b8 Mon Sep 17 00:00:00 2001 From: Chris Kaczor Date: Thu, 18 Aug 2022 13:16:54 -0400 Subject: [PATCH] Handle first update immediately --- DeviceStatus/Service/MessageHandler.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/DeviceStatus/Service/MessageHandler.cs b/DeviceStatus/Service/MessageHandler.cs index 0fbf3bf..9192d68 100644 --- a/DeviceStatus/Service/MessageHandler.cs +++ b/DeviceStatus/Service/MessageHandler.cs @@ -52,15 +52,15 @@ public class MessageHandler : IHostedService if (_deviceTimers.ContainsKey(newDevice.Name)) await _deviceTimers[newDevice.Name].DisposeAsync(); - if (newDevice.Status) + if (!_deviceRepository.ContainsKey(newDevice.Name) || newDevice.Status) { - WriteLog($"{arg.ApplicationMessage.Topic}: Status true, handling immediately"); + WriteLog($"{arg.ApplicationMessage.Topic}: Handling status immediately"); await HandleDeviceMessage(newDevice); } else { - WriteLog($"{arg.ApplicationMessage.Topic}: Status false, setting timer"); + WriteLog($"{arg.ApplicationMessage.Topic}: Setting timer for status"); _deviceTimers[newDevice.Name] = new Timer(OnDeviceTimer, newDevice, _deviceDelayTime, Timeout.InfiniteTimeSpan); }