You've already forked FrameTour-RenderWorker
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:
79
core/handler.py
Normal file
79
core/handler.py
Normal 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
|
||||
Reference in New Issue
Block a user