chore: 基线提交(重构前快照)

重构前保存现有 apps/ 结构基线,供后续各阶段回滚。

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Claude
2026-08-07 09:43:18 +08:00
co-authored by Claude
commit dbcce79536
112 changed files with 9677 additions and 0 deletions
+57
View File
@@ -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()