added remove all item from queue

This commit is contained in:
2025-11-01 18:09:23 +01:00
parent 4dba4db344
commit 18faf3fe91
8 changed files with 155 additions and 1473 deletions

View File

@@ -600,6 +600,34 @@ class DownloadService:
return count
async def clear_pending(self) -> int:
"""Clear all pending downloads from the queue.
Returns:
Number of items cleared
"""
count = len(self._pending_queue)
self._pending_queue.clear()
self._pending_items_by_id.clear()
logger.info("Cleared pending items", count=count)
# Save queue state
self._save_queue()
# Broadcast queue status update
if count > 0:
queue_status = await self.get_queue_status()
await self._broadcast_update(
"queue_status",
{
"action": "pending_cleared",
"cleared_count": count,
"queue_status": queue_status.model_dump(mode="json"),
},
)
return count
async def retry_failed(
self, item_ids: Optional[List[str]] = None
) -> List[str]: