mirror of
https://github.com/pacnpal/Pac-cogs.git
synced 2025-12-20 10:51:05 -05:00
Creating a shared types module (types.py) for common types and interfaces
Updating queue_processor.py to use the shared types Updating manager.py to use the correct imports and shared types The cyclic dependency has been resolved by: Moving shared types to a separate module Having queue_processor.py only import from shared modules Having manager.py use the QueueProcessor from queue/processor.py
This commit is contained in:
@@ -14,10 +14,10 @@ from .persistence import QueuePersistenceManager
|
||||
from .monitoring import QueueMonitor, MonitoringLevel
|
||||
from .cleanup import QueueCleaner
|
||||
from .models import QueueItem, QueueError, CleanupError
|
||||
from .types import ProcessingStrategy
|
||||
|
||||
logger = logging.getLogger("QueueManager")
|
||||
|
||||
|
||||
class QueueState(Enum):
|
||||
"""Queue operational states"""
|
||||
UNINITIALIZED = "uninitialized"
|
||||
@@ -28,7 +28,6 @@ class QueueState(Enum):
|
||||
STOPPED = "stopped"
|
||||
ERROR = "error"
|
||||
|
||||
|
||||
class QueueMode(Enum):
|
||||
"""Queue processing modes"""
|
||||
NORMAL = "normal" # Standard processing
|
||||
@@ -36,7 +35,6 @@ class QueueMode(Enum):
|
||||
PRIORITY = "priority" # Priority-based processing
|
||||
MAINTENANCE = "maintenance" # Maintenance mode
|
||||
|
||||
|
||||
@dataclass
|
||||
class QueueConfig:
|
||||
"""Queue configuration settings"""
|
||||
@@ -52,7 +50,6 @@ class QueueConfig:
|
||||
persistence_enabled: bool = True
|
||||
monitoring_level: MonitoringLevel = MonitoringLevel.NORMAL
|
||||
|
||||
|
||||
@dataclass
|
||||
class QueueStats:
|
||||
"""Queue statistics"""
|
||||
@@ -64,7 +61,6 @@ class QueueStats:
|
||||
peak_memory_usage: float = 0.0
|
||||
state_changes: List[Dict[str, Any]] = field(default_factory=list)
|
||||
|
||||
|
||||
class QueueCoordinator:
|
||||
"""Coordinates queue operations"""
|
||||
|
||||
@@ -100,7 +96,6 @@ class QueueCoordinator:
|
||||
"""Wait if queue is paused"""
|
||||
await self._paused.wait()
|
||||
|
||||
|
||||
class EnhancedVideoQueueManager:
|
||||
"""Enhanced queue manager with improved organization and maintainability"""
|
||||
|
||||
@@ -128,10 +123,11 @@ class EnhancedVideoQueueManager:
|
||||
QueuePersistenceManager() if self.config.persistence_enabled else None
|
||||
)
|
||||
|
||||
# Initialize processor
|
||||
# Initialize processor with strategy
|
||||
self.processor = QueueProcessor(
|
||||
state_manager=self.state_manager,
|
||||
monitor=self.monitor,
|
||||
strategy=ProcessingStrategy.CONCURRENT,
|
||||
max_retries=self.config.max_retries,
|
||||
retry_delay=self.config.retry_delay,
|
||||
batch_size=self.config.batch_size,
|
||||
|
||||
Reference in New Issue
Block a user