PMFlow/backend/app/services/signal/signal_source_repair/errors.py

34 lines
1.2 KiB
Python

"""Error types for signal source repair service."""
from __future__ import annotations
class SignalSourceRepairError(RuntimeError):
"""信号源修复失败。"""
class SignalSourceRepairTimeoutError(SignalSourceRepairError):
"""信号源修复超时。"""
def __init__(self, *, registry_id: int, stage: str, timeout_seconds: int) -> None:
super().__init__(
f"signal source repair timeout: registry_id={int(registry_id)}, "
f"stage={stage}, timeout_seconds={int(timeout_seconds)}"
)
self.registry_id = int(registry_id)
self.stage = str(stage)
self.timeout_seconds = int(timeout_seconds)
class SignalSourceRepairMissingSignalError(SignalSourceRepairError):
"""修复路径未拿到 signal_id。"""
def __init__(self, *, registry_id: int, project_id: int, status: str) -> None:
super().__init__(
f"signal source repair failed: registry_id={int(registry_id)}, "
f"project_id={int(project_id)}, capture_status={status or 'unknown'}"
)
self.registry_id = int(registry_id)
self.project_id = int(project_id)
self.status = str(status or "")