feat(render): 实现渲染系统v2核心架构

- 添加v2支持的任务类型常量定义
- 更新软件版本至0.0.9
- 定义v2统一音视频编码参数
- 实现系统信息工具get_sys_info_v2方法
- 新增get_capabilities和_get_gpu_info功能
- 创建core模块及TaskHandler抽象基类
- 添加渲染系统设计文档包括集群架构、v2 PRD和Worker PRD
- 实现任务处理器抽象基类及接口规范
This commit is contained in:
2026-01-11 21:14:02 +08:00
parent 357c0afb3b
commit 24de32e6bb
19 changed files with 2812 additions and 3 deletions

12
core/__init__.py Normal file
View File

@@ -0,0 +1,12 @@
# -*- coding: utf-8 -*-
"""
核心抽象层
包含任务处理器抽象基类等核心接口定义。
"""
from core.handler import TaskHandler
__all__ = [
'TaskHandler',
]

79
core/handler.py Normal file
View File

@@ -0,0 +1,79 @@
# -*- coding: utf-8 -*-
"""
任务处理器抽象基类
定义任务处理器的接口规范。
"""
from abc import ABC, abstractmethod
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from domain.task import Task, TaskType
from domain.result import TaskResult
class TaskHandler(ABC):
"""
任务处理器抽象基类
所有任务处理器都必须继承此类并实现相应方法。
"""
@abstractmethod
def handle(self, task: 'Task') -> 'TaskResult':
"""
处理任务的主方法
Args:
task: 任务实体
Returns:
TaskResult: 任务结果(成功或失败)
"""
pass
@abstractmethod
def get_supported_type(self) -> 'TaskType':
"""
返回此处理器支持的任务类型
Returns:
TaskType: 支持的任务类型枚举值
"""
pass
def before_handle(self, task: 'Task') -> None:
"""
处理前钩子(可选重写)
用于任务执行前的准备工作,如日志记录、资源检查等。
Args:
task: 任务实体
"""
pass
def after_handle(self, task: 'Task', result: 'TaskResult') -> None:
"""
处理后钩子(可选重写)
用于任务执行后的清理工作,如资源释放、统计记录等。
Args:
task: 任务实体
result: 任务结果
"""
pass
def validate_task(self, task: 'Task') -> bool:
"""
验证任务是否有效(可选重写)
Args:
task: 任务实体
Returns:
bool: 任务是否有效
"""
return True