From 1afaa2bd421aeaeacd2a61d8ef436e9b84b08ad6 Mon Sep 17 00:00:00 2001 From: Stevan Freeborn <65925598+StevanFreeborn@users.noreply.github.com> Date: Thu, 5 Jun 2025 23:17:47 -0500 Subject: [PATCH] fix: stop requeuing immediately inside loop that just continually dequeues item --- src/src/StevesBot.Webhook/YouTube/SubscriptionWorker.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/src/StevesBot.Webhook/YouTube/SubscriptionWorker.cs b/src/src/StevesBot.Webhook/YouTube/SubscriptionWorker.cs index 5bb087b..e9c9cab 100644 --- a/src/src/StevesBot.Webhook/YouTube/SubscriptionWorker.cs +++ b/src/src/StevesBot.Webhook/YouTube/SubscriptionWorker.cs @@ -72,6 +72,8 @@ internal sealed class SubscriptionWorker( private async Task ProcessSubscriptionQueueAsync(CancellationToken cancellationToken) { + var tasksToRequeue = new List(); + while (_subscriptionQueue.TryDequeue(out var task)) { // We will attempt to process the task @@ -90,7 +92,7 @@ internal sealed class SubscriptionWorker( now ); - _subscriptionQueue.Enqueue(task); + tasksToRequeue.Add(task); continue; } @@ -111,6 +113,8 @@ internal sealed class SubscriptionWorker( _logger.LogWarning("Failed to subscribe to topic: {TopicUrl}", task.TopicUrl); } + + tasksToRequeue.ForEach(_subscriptionQueue.Enqueue); } public void Dispose()