From d6d6a5d808dea2e190ac1ddc2b8859c84bf3be24 Mon Sep 17 00:00:00 2001 From: Michael Green <84688932+michael-j-green@users.noreply.github.com> Date: Sat, 23 Sep 2023 20:59:01 -0700 Subject: [PATCH] Resolved blocked service UI bug (#134) --- gaseous-server/Timer.cs | 30 ++++++++----------- .../wwwroot/pages/settings/system.html | 2 +- 2 files changed, 13 insertions(+), 19 deletions(-) diff --git a/gaseous-server/Timer.cs b/gaseous-server/Timer.cs index d6653ad..8adc586 100644 --- a/gaseous-server/Timer.cs +++ b/gaseous-server/Timer.cs @@ -36,7 +36,7 @@ namespace gaseous_server List ActiveList = new List(); ActiveList.AddRange(ProcessQueue.QueueItems); foreach (ProcessQueue.QueueItem qi in ActiveList) { - if (CheckProcessBlockList(qi) == true) { + if (CheckIfProcessIsBlockedByOthers(qi) == false) { qi.BlockedState(false); if (DateTime.UtcNow > qi.NextRunTime || qi.Force == true) { @@ -69,30 +69,24 @@ namespace gaseous_server _timer?.Dispose(); } - private bool CheckProcessBlockList(ProcessQueue.QueueItem queueItem) + private bool CheckIfProcessIsBlockedByOthers(ProcessQueue.QueueItem queueItem) { - if (queueItem.Blocks.Count > 0) + foreach (ProcessQueue.QueueItem qi in ProcessQueue.QueueItems) { - foreach (ProcessQueue.QueueItem qi in ProcessQueue.QueueItems) - { + if (qi.ItemState == ProcessQueue.QueueItemState.Running) { + // other service is running, check if queueItem is blocked by it if ( - ( - queueItem.Blocks.Contains(qi.ItemType) || - queueItem.Blocks.Contains(ProcessQueue.QueueItemType.All) - ) && - qi.ItemState == ProcessQueue.QueueItemState.Running - ) + qi.Blocks.Contains(queueItem.ItemType) || + qi.Blocks.Contains(ProcessQueue.QueueItemType.All) + ) { - return false; + Console.WriteLine(queueItem.ItemType.ToString() + " is blocked by " + qi.ItemType.ToString()); + return true; } } + } - return true; - } - else - { - return true; - } + return false; } } } diff --git a/gaseous-server/wwwroot/pages/settings/system.html b/gaseous-server/wwwroot/pages/settings/system.html index 772edaf..b93f987 100644 --- a/gaseous-server/wwwroot/pages/settings/system.html +++ b/gaseous-server/wwwroot/pages/settings/system.html @@ -64,7 +64,7 @@ var itemStateName; var itemLastStart; - if (result[i].IsBlocked == false) { + if (result[i].isBlocked == false) { switch (result[i].itemState) { case 'NeverStarted': itemStateName = "Never started";