chore: 基线提交(重构前快照)
重构前保存现有 apps/ 结构基线,供后续各阶段回滚。 Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
"""
|
||||
任务执行器模块
|
||||
|
||||
根据触发器标识执行对应任务的功能。
|
||||
"""
|
||||
|
||||
import logging
|
||||
from typing import Any, Dict
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class JobExecutor:
|
||||
"""任务执行器:根据触发器标识调用对应的内部方法执行任务"""
|
||||
|
||||
def __init__(self):
|
||||
self._handlers = {}
|
||||
self._register_default_handlers()
|
||||
|
||||
def _register_default_handlers(self):
|
||||
"""注册默认的任务处理器"""
|
||||
self.register('send_sms', self._send_sms)
|
||||
self.register('send_email', self._send_email)
|
||||
self.register('sync_data', self._sync_data)
|
||||
|
||||
def register(self, trigger: str, handler):
|
||||
"""注册任务处理器"""
|
||||
self._handlers[trigger] = handler
|
||||
logger.info(f"注册任务处理器: {trigger}")
|
||||
|
||||
def execute(self, trigger: str, **kwargs) -> Any:
|
||||
"""执行任务"""
|
||||
if trigger not in self._handlers:
|
||||
raise KeyError(f"未注册的任务触发器: {trigger}(可用 job_executor.register() 注册处理器)")
|
||||
|
||||
handler = self._handlers[trigger]
|
||||
logger.info(f"执行任务: {trigger}, 参数: {kwargs}")
|
||||
return handler(**kwargs)
|
||||
|
||||
def _send_sms(self, **kwargs) -> Dict:
|
||||
"""发送短信任务"""
|
||||
logger.info(f"发送短信 [任务ID: {kwargs.get('job_id')}]")
|
||||
return {'success': True, 'message': '短信发送成功'}
|
||||
|
||||
def _send_email(self, **kwargs) -> Dict:
|
||||
"""发送邮件任务"""
|
||||
logger.info(f"发送邮件 [任务ID: {kwargs.get('job_id')}]")
|
||||
return {'success': True, 'message': '邮件发送成功'}
|
||||
|
||||
def _sync_data(self, **kwargs) -> Dict:
|
||||
"""数据同步任务"""
|
||||
logger.info(f"数据同步 [任务ID: {kwargs.get('job_id')}]")
|
||||
return {'success': True, 'message': '数据同步成功'}
|
||||
|
||||
|
||||
# 全局执行器实例
|
||||
job_executor = JobExecutor()
|
||||
Reference in New Issue
Block a user