requeue requests where files are still downloading

This commit is contained in:
Stanley Dimant
2024-05-04 15:21:53 +02:00
committed by Loporrit
parent 9269a403b5
commit a116545c9e

View File

@@ -156,30 +156,30 @@ public class RequestQueueService : IHostedService
while (true) while (true)
{ {
if (_priorityQueue.TryPeek(out var prioRequest)) if (_priorityQueue.TryDequeue(out var prioRequest))
{ {
if (prioRequest.IsCancelled) if (prioRequest.IsCancelled)
{ {
_priorityQueue.TryDequeue(out var _);
continue; continue;
} }
if (_cachedFileProvider.AnyFilesDownloading(prioRequest.FileIds)) continue;
_priorityQueue.TryDequeue(out var priorityRequest); if (_cachedFileProvider.AnyFilesDownloading(prioRequest.FileIds))
DequeueIntoSlot(priorityRequest, i); _priorityQueue.Enqueue(prioRequest);
DequeueIntoSlot(prioRequest, i);
break; break;
} }
if (_queue.TryPeek(out var request)) if (_queue.TryDequeue(out var request))
{ {
if (request.IsCancelled) if (request.IsCancelled)
{ {
_queue.TryDequeue(out var _);
continue; continue;
} }
if (_cachedFileProvider.AnyFilesDownloading(request.FileIds)) continue;
_queue.TryDequeue(out var priorityRequest); if (_cachedFileProvider.AnyFilesDownloading(request.FileIds))
_queue.Enqueue(request);
DequeueIntoSlot(request, i); DequeueIntoSlot(request, i);
break; break;
} }