From 2c9f9d100852bcb4a2ef7e073dd580de15199bf5 Mon Sep 17 00:00:00 2001 From: ThatBen Date: Thu, 3 Apr 2025 14:28:23 +0200 Subject: [PATCH] logs errors in worker loop --- Tools/AutoClient/LoadBalancer.cs | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/Tools/AutoClient/LoadBalancer.cs b/Tools/AutoClient/LoadBalancer.cs index aef4801a..407db704 100644 --- a/Tools/AutoClient/LoadBalancer.cs +++ b/Tools/AutoClient/LoadBalancer.cs @@ -43,9 +43,9 @@ namespace AutoClient public void Queue(Action action) { + if (queue.Count > 2) log.Log("Queue full. Waiting..."); while (queue.Count > 2) { - log.Log("Queue full. Waiting..."); Thread.Sleep(TimeSpan.FromSeconds(5.0)); } @@ -57,18 +57,26 @@ namespace AutoClient private void Worker() { - while (running) + try { - while (queue.Count == 0) Thread.Sleep(TimeSpan.FromSeconds(5.0)); - - Action action = w => { }; - lock (queueLock) + while (running) { - action = queue[0]; - queue.RemoveAt(0); - } + while (queue.Count == 0) Thread.Sleep(TimeSpan.FromSeconds(5.0)); - action(instance); + Action action = w => { }; + lock (queueLock) + { + action = queue[0]; + queue.RemoveAt(0); + } + + action(instance); + } + } + catch (Exception ex) + { + log.Error("Exception in worker: " + ex); + throw; } } }