"""Task 异常体系 —— 从 supply.jobs.task_utils 迁移""" class TaskError(Exception): """任务异常基类""" def __init__(self, message: str, retryable: bool = False): super().__init__(message) self.retryable = retryable class TaskValidationError(TaskError): """任务参数校验失败""" def __init__(self, message: str): super().__init__(message, retryable=False) class TaskTimeoutError(TaskError): """任务执行超时""" def __init__(self, task_name: str, timeout: int): super().__init__( f"任务 '{task_name}' 执行超时({timeout}s)", retryable=True ) class TaskConcurrencyError(TaskError): """任务并发限制""" def __init__(self, task_name: str, max_concurrent: int): super().__init__( f"任务 '{task_name}' 并发数已达上限({max_concurrent})", retryable=True, ) class TaskLockError(TaskError): """任务锁获取失败(被其他实例持有)""" def __init__(self, task_name: str): super().__init__( f"任务 '{task_name}' 锁已被其他实例持有", retryable=True )