Downloader Service¶
Queue-based download manager with multiple download methods.
Overview¶
The downloader service provides: - Queue-based download management - Concurrent downloads - Multiple download methods (Aria2, yt-dlp, FFmpeg) - Automatic retry with backoff - Progress tracking
QueueManager¶
Main download queue manager.
Methods¶
start_queue(): Start download workersstop_queue(): Stop all downloadsadd_to_queue(): Add episodes to queueretry_failed(): Retry failed downloadsclear_completed(): Remove completed items
Download Methods¶
Priority Order¶
- Aria2 (fastest, multi-connection)
- yt-dlp (complex streams)
- FFmpeg (HLS conversion)
- Generic HTTP (fallback)
Usage¶
from weeb_cli.services.downloader import queue_manager
# Start queue
queue_manager.start_queue()
# Add to queue
queue_manager.add_to_queue(
anime_title="Anime Name",
episodes=[episode_data],
slug="anime-slug"
)
# Check status
if queue_manager.is_running():
print("Queue active")
Configuration¶
- Max concurrent downloads
- Aria2 connections
- Retry attempts
- Retry delay
Next Steps¶
- Download Guide: User guide
- Configuration: Settings