feat: implement download queue service with persistence, priority, and retry logic
- Added comprehensive download queue service (download_service.py) - Priority-based queue management (HIGH, NORMAL, LOW) - Concurrent download processing with configurable limits - Automatic queue persistence to JSON file - Retry logic for failed downloads with max retry limits - Real-time progress tracking and WebSocket broadcasting - Queue operations: add, remove, reorder, pause, resume - Statistics tracking: download speeds, sizes, ETA calculations - Created comprehensive unit tests (test_download_service.py) - 23 tests covering all service functionality - Tests for queue management, persistence, retry logic - Broadcast callbacks, error handling, and lifecycle - Added structlog dependency for structured logging - Updated infrastructure.md with download service documentation - Removed completed task from instructions.md All tests passing (23/23)
This commit is contained in:
@@ -8,6 +8,7 @@ python-jose[cryptography]==3.3.0
|
||||
passlib[bcrypt]==1.7.4
|
||||
aiofiles==23.2.1
|
||||
websockets==12.0
|
||||
structlog==24.1.0
|
||||
pytest==7.4.3
|
||||
pytest-asyncio==0.21.1
|
||||
httpx==0.25.2
|
||||
Reference in New Issue
Block a user