34 lines
1.2 KiB
Python
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 "")
|