# -*- coding: utf-8 -*- """任务注册表""" from tasks.orders_task import OrdersTask from tasks.payments_task import PaymentsTask from tasks.members_task import MembersTask class TaskRegistry: """任务注册和工厂""" def __init__(self): self._tasks = {} def register(self, task_code: str, task_class): """注册任务类""" self._tasks[task_code.upper()] = task_class def create_task(self, task_code: str, config, db_connection, api_client, logger): """创建任务实例""" task_code = task_code.upper() if task_code not in self._tasks: raise ValueError(f"未知的任务类型: {task_code}") task_class = self._tasks[task_code] return task_class(config, db_connection, api_client, logger) def get_all_task_codes(self) -> list: """获取所有已注册的任务代码""" return list(self._tasks.keys()) # 默认注册表 default_registry = TaskRegistry() default_registry.register("ORDERS", OrdersTask) default_registry.register("PAYMENTS", PaymentsTask) default_registry.register("MEMBERS", MembersTask) # 可以继续注册其他任务...