from abc import ABC, abstractmethod import asyncio from .pipeline_data import PipelineData class BaseProcessor(ABC): """所有处理器的抽象基类,定义统一的处理接口""" def __init__(self, name: str): self.name = name # 处理器名称(便于日志/调试) @abstractmethod def process(self, data: PipelineData) -> PipelineData: """ 核心处理方法(必须由子类实现) :param data: 管道数据包 :return: 处理后的数据包(可修改原数据或返回新数据) """ pass async def process_async(self, data: PipelineData): """ 异步处理方法(可由子类实现) :param data: 管道数据包 """ # 默认实现:调用同步处理方法 self.process(data) def __repr__(self) -> str: return f"Processor[{self.name}]"