VeighNa · 第 4 章 MainEngine 与插件装配


文档摘要

VeighNa · 第 4 章 MainEngine 与插件装配 章节摘要:本章精读 VeighNa 的装配中枢—— (838 行)。MainEngine 是"什么都不做的核心":它本身不实现任何交易逻辑,只持有四个 dict(gateways/engines/apps/exchanges),通过 addgateway/addapp/addengine 动态装配。所有对外 API(connect/subscribe/sendorder...)都是委托式透传给具体 gateway。本章最精彩的是 Facade 技巧——OmsEngine 的 19 个查询方法被"提升"为 MainEngine 的属性,外部无需知道 OmsEngine 存在。

VeighNa · 第 4 章 MainEngine 与插件装配

章节摘要:本章精读 VeighNa 的装配中枢——engine.py(838 行)。MainEngine 是"什么都不做的核心":它本身不实现任何交易逻辑,只持有四个 dict(gateways/engines/apps/exchanges),通过 add_gateway/add_app/add_engine 动态装配。所有对外 API(connect/subscribe/send_order...)都是委托式透传给具体 gateway。本章最精彩的是 Facade 技巧——OmsEngine 的 19 个查询方法被"提升"为 MainEngine 的属性,外部无需知道 OmsEngine 存在。本章还会讲四大内置引擎:LogEngine(日志)、OmsEngine(订单管理,事件订阅+字典缓存)、EmailEngine(懒启动异步邮件)、WechatEngine(4.4 新增,节流合并微信推送)。本章共 3 节,前置依赖为第 1~3 章。

学习目标

阅读完本章,你应当能够:

  1. 理解 MainEngine 的"装配中枢 + Facade"双重角色。
  2. 说清 add_gateway/add_app/add_engine 三件套的区别。
  3. 读懂委托式交易 API 的统一模式(get_gateway + write_log + 透传)。
  4. 理解 OmsEngine 的"事件订阅 + 字典缓存 + active 子集"状态管理。
  5. 区分 EmailEngine(懒启动)与 WechatEngine(自动启动+节流)的设计。

核心概念速览

MainEngine 什么都不做,只装不实现——这是"核心+插件"架构的精髓。

子章节导航

01 MainEngine 的装配容器与委托式 API

init 四个 dict;add_engine/add_gateway/add_app 三件套;init_engines 装配四大内置引擎 + Facade 提升 OmsEngine 方法;委托式交易 API 统一模式;close 生命周期。

02 OmsEngine 订单管理与状态缓存

9 个缓存字典 + 2 个 active 子集;register_event 订阅 7 类事件;process_xxx 三段式(缓存+active子集+OffsetConverter);get_xxx 查询方法;OffsetConverter 懒初始化。

03 LogEngine/EmailEngine/WechatEngine 三大辅助引擎

LogEngine(loguru + EVENT_LOG);EmailEngine(懒启动 + SMTP_SSL + 异步队列);WechatEngine(4.4 新增,凭据持久化 + 节流合并 + 消息回填重试)。

子章节之间的逻辑关系

本章第 01 节(装配中枢) ──► 第 02 节(OmsEngine 状态) ──► 第 03 节(辅助引擎) │ ▼ 下一章(第 5 章 网关与应用抽象)

前置知识与后续延伸

前置知识:

  • 第 1~3 章(理解事件引擎与数据结构)

后续延伸:

  • 第 5 章 BaseGateway 的 on_xxx 回调 put 的就是 OmsEngine 订阅的事件
  • 第 7 章 OffsetConverter 由 OmsEngine 懒初始化

发布者: 作者: 灏天文库 转发
评论区 (0)
U