59 lines
3.5 KiB
Python
59 lines
3.5 KiB
Python
# -*- coding: utf-8 -*-
|
||
from loguru import logger
|
||
from enum import Enum, unique
|
||
|
||
class ServiceException(Exception):
|
||
def __init__(self, code, msg, desc=None):
|
||
self.code = code
|
||
if desc is None:
|
||
self.msg = msg
|
||
else:
|
||
self.msg = msg % desc
|
||
|
||
def __str__(self):
|
||
logger.error("异常编码:{}, 异常描述:{}", self.code, self.msg)
|
||
|
||
# 异常枚举
|
||
@unique
|
||
class ExceptionType(Enum):
|
||
OR_VIDEO_ADDRESS_EXCEPTION = ("SP000", "未拉取到视频流, 请检查拉流地址是否有视频流!")
|
||
ANALYSE_TIMEOUT_EXCEPTION = ("SP001", "AI分析超时!")
|
||
PULLSTREAM_TIMEOUT_EXCEPTION = ("SP002", "原视频拉流超时!")
|
||
READSTREAM_TIMEOUT_EXCEPTION = ("SP003", "原视频读取视频流超时!")
|
||
GET_VIDEO_URL_EXCEPTION = ("SP004", "获取视频播放地址失败!")
|
||
GET_VIDEO_URL_TIMEOUT_EXCEPTION = ("SP005", "获取原视频播放地址超时!")
|
||
PULL_STREAM_URL_EXCEPTION = ("SP006", "拉流地址不能为空!")
|
||
PUSH_STREAM_URL_EXCEPTION = ("SP007", "推流地址不能为空!")
|
||
PUSH_STREAM_TIME_EXCEPTION = ("SP008", "未生成本地视频地址!")
|
||
AI_MODEL_MATCH_EXCEPTION = ("SP009", "未匹配到对应的AI模型!")
|
||
ILLEGAL_PARAMETER_FORMAT = ("SP010", "非法参数格式!")
|
||
PUSH_STREAMING_CHANNEL_IS_OCCUPIED = ("SP011", "推流通道可能被占用, 请稍后再试!")
|
||
VIDEO_RESOLUTION_EXCEPTION = ("SP012", "不支持该分辨率类型的视频,请切换分辨率再试!")
|
||
READ_IAMGE_URL_EXCEPTION = ("SP013", "未能解析图片地址!")
|
||
DETECTION_TARGET_TYPES_ARE_NOT_SUPPORTED = ("SP014", "不支持该类型的检测目标!")
|
||
WRITE_STREAM_EXCEPTION = ("SP015", "写流异常!")
|
||
OR_VIDEO_DO_NOT_EXEIST_EXCEPTION = ("SP016", "原视频不存在!")
|
||
MODEL_LOADING_EXCEPTION = ("SP017", "模型加载异常!")
|
||
MODEL_ANALYSE_EXCEPTION = ("SP018", "算法模型分析异常!")
|
||
AI_MODEL_CONFIG_EXCEPTION = ("SP019", "模型配置不能为空!")
|
||
AI_MODEL_GET_CONFIG_EXCEPTION = ("SP020", "获取模型配置异常, 请检查模型配置是否正确!")
|
||
MODEL_GROUP_LIMIT_EXCEPTION = ("SP021", "模型组合个数超过限制!")
|
||
MODEL_NOT_SUPPORT_VIDEO_EXCEPTION = ("SP022", "%s不支持视频识别!")
|
||
MODEL_NOT_SUPPORT_IMAGE_EXCEPTION = ("SP023", "%s不支持图片识别!")
|
||
THE_DETECTION_TARGET_CANNOT_BE_EMPTY = ("SP024", "检测目标不能为空!")
|
||
URL_ADDRESS_ACCESS_FAILED = ("SP025", "URL地址访问失败, 请检测URL地址是否正确!")
|
||
UNIVERSAL_TEXT_RECOGNITION_FAILED = ("SP026", "识别失败!")
|
||
COORDINATE_ACQUISITION_FAILED = ("SP027", "飞行坐标识别异常!")
|
||
PUSH_STREAM_EXCEPTION = ("SP028", "推流异常!")
|
||
MODEL_DUPLICATE_EXCEPTION = ("SP029", "存在重复模型配置!")
|
||
DETECTION_TARGET_NOT_SUPPORT = ("SP031", "存在不支持的检测目标!")
|
||
TASK_EXCUTE_TIMEOUT = ("SP032", "任务执行超时!")
|
||
PUSH_STREAM_URL_IS_NULL = ("SP033", "拉流、推流地址不能为空!")
|
||
PULL_STREAM_NUM_LIMIT_EXCEPTION = ("SP034", "转推流数量超过限制!")
|
||
NOT_REQUESTID_TASK_EXCEPTION = ("SP993", "未查询到该任务,无法停止任务!")
|
||
NO_RESOURCES = ("SP995", "服务器暂无资源可以使用,请稍后30秒后再试!")
|
||
NO_CPU_RESOURCES = ("SP996", "暂无CPU资源可以使用,请稍后再试!")
|
||
SERVICE_COMMON_EXCEPTION = ("SP997", "公共服务异常!")
|
||
NO_GPU_RESOURCES = ("SP998", "暂无GPU资源可以使用,请稍后再试!")
|
||
SERVICE_INNER_EXCEPTION = ("SP999", "系统内部异常!")
|