added remove all item from queue
This commit is contained in:
@@ -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]:
|
||||
|
||||
Reference in New Issue
Block a user