You've already forked FrameTour-RenderWorker
feat(重构): 实现新的渲染服务架构
- 新增 RenderTask
This commit is contained in:
@@ -24,13 +24,14 @@ def sync_center():
|
||||
通过接口获取任务
|
||||
:return: 任务列表
|
||||
"""
|
||||
from template import TEMPLATES, download_template
|
||||
from services import DefaultTemplateService
|
||||
template_service = DefaultTemplateService()
|
||||
try:
|
||||
response = session.post(os.getenv('API_ENDPOINT') + "/sync", json={
|
||||
'accessKey': os.getenv('ACCESS_KEY'),
|
||||
'clientStatus': util.system.get_sys_info(),
|
||||
'templateList': [{'id': t.get('id', ''), 'updateTime': t.get('updateTime', '')} for t in
|
||||
TEMPLATES.values()]
|
||||
template_service.templates.values()]
|
||||
}, timeout=10)
|
||||
response.raise_for_status()
|
||||
except requests.RequestException as e:
|
||||
@@ -56,7 +57,7 @@ def sync_center():
|
||||
template_id = template.get('id', '')
|
||||
if template_id:
|
||||
logger.info("更新模板:【%s】", template_id)
|
||||
download_template(template_id)
|
||||
template_service.download_template(template_id)
|
||||
return tasks
|
||||
|
||||
|
||||
|
72
util/exceptions.py
Normal file
72
util/exceptions.py
Normal file
@@ -0,0 +1,72 @@
|
||||
class RenderWorkerError(Exception):
|
||||
"""RenderWorker基础异常类"""
|
||||
def __init__(self, message: str, error_code: str = None):
|
||||
super().__init__(message)
|
||||
self.message = message
|
||||
self.error_code = error_code or self.__class__.__name__
|
||||
|
||||
class ConfigurationError(RenderWorkerError):
|
||||
"""配置错误"""
|
||||
pass
|
||||
|
||||
class TemplateError(RenderWorkerError):
|
||||
"""模板相关错误"""
|
||||
pass
|
||||
|
||||
class TemplateNotFoundError(TemplateError):
|
||||
"""模板未找到错误"""
|
||||
pass
|
||||
|
||||
class TemplateValidationError(TemplateError):
|
||||
"""模板验证错误"""
|
||||
pass
|
||||
|
||||
class TaskError(RenderWorkerError):
|
||||
"""任务处理错误"""
|
||||
pass
|
||||
|
||||
class TaskValidationError(TaskError):
|
||||
"""任务参数验证错误"""
|
||||
pass
|
||||
|
||||
class RenderError(RenderWorkerError):
|
||||
"""渲染处理错误"""
|
||||
pass
|
||||
|
||||
class FFmpegError(RenderError):
|
||||
"""FFmpeg执行错误"""
|
||||
def __init__(self, message: str, command: list = None, return_code: int = None, stderr: str = None):
|
||||
super().__init__(message)
|
||||
self.command = command
|
||||
self.return_code = return_code
|
||||
self.stderr = stderr
|
||||
|
||||
class EffectError(RenderError):
|
||||
"""效果处理错误"""
|
||||
def __init__(self, message: str, effect_name: str = None, effect_params: str = None):
|
||||
super().__init__(message)
|
||||
self.effect_name = effect_name
|
||||
self.effect_params = effect_params
|
||||
|
||||
class StorageError(RenderWorkerError):
|
||||
"""存储相关错误"""
|
||||
pass
|
||||
|
||||
class APIError(RenderWorkerError):
|
||||
"""API调用错误"""
|
||||
def __init__(self, message: str, status_code: int = None, response_body: str = None):
|
||||
super().__init__(message)
|
||||
self.status_code = status_code
|
||||
self.response_body = response_body
|
||||
|
||||
class ResourceError(RenderWorkerError):
|
||||
"""资源相关错误"""
|
||||
pass
|
||||
|
||||
class ResourceNotFoundError(ResourceError):
|
||||
"""资源未找到错误"""
|
||||
pass
|
||||
|
||||
class DownloadError(ResourceError):
|
||||
"""下载错误"""
|
||||
pass
|
Reference in New Issue
Block a user