|
2 | 2 |
|
3 | 3 | # FIT for Python |
4 | 4 |
|
| 5 | +## 框架简介 |
| 6 | + |
| 7 | +FIT for Python 是基于 FIT Framework 的 Python 运行时与插件开发套件,涵盖: |
| 8 | +- 运行时:启动框架、加载插件、提供生命周期与健康检查。 |
| 9 | +- CLI 工具:初始化、构建、打包插件,提升开发效率。 |
| 10 | +- 插件样例与配置:便于本地快速体验与二次开发。 |
| 11 | + |
| 12 | +## 目录结构(节选) |
| 13 | + |
| 14 | +- `fitframework/`:核心运行时代码与启动入口(`python -m fitframework`)。 |
| 15 | +- `fit_cli/`:命令行工具,支持插件的 init/build/package。 |
| 16 | +- `plugin/`:本地插件工程根目录,使用 CLI 生成与构建。 |
| 17 | +- `conf/`:框架及插件相关配置。 |
| 18 | +- `bootstrap/`:运行时启动与配置加载的底层实现。 |
| 19 | +- `requirements.txt`:运行时依赖列表。 |
| 20 | +- `fit_common_struct/`:框架通用数据结构与工具。 |
| 21 | +- `fit_flowable/`:流程/可流式组件相关实现。 |
| 22 | +- `fit_py_nacos_registry/`:Nacos 注册中心适配。 |
| 23 | +- `fit_test/`:示例与自测脚本。 |
| 24 | +- `third_party_cache/`:依赖缓存或临时文件。 |
| 25 | +- `fit_framework.log`:默认运行日志文件,便于排查。 |
| 26 | + |
| 27 | +## 配置说明 |
| 28 | + |
| 29 | +- 默认配置位于 `conf/`,包括 `application.yml`、`fit.yml`、`fit_startup.yml` 等。 |
| 30 | +- 注册中心:`conf/application.yml` 中 `registry-center` 配置为框架发现和加载插件的前置条件,需保证注册中心已启动(可参考 Java 框架的本地注册中心启动方式),并与 `server.addresses` 等参数保持一致。 |
| 31 | +- 如使用直连内存注册中心,默认 `mode: DIRECT`,地址示例 `localhost:8080`;如使用代理/Nacos,请按实际环境调整 `mode`、`addresses`、`protocol` 等字段。 |
| 32 | +- 启动前请根据本地环境核对端口、协议及上下文路径,必要时同步修改插件侧的配置文件。 |
| 33 | + |
5 | 34 | ## 源码准备 |
6 | 35 |
|
7 | | -下载代码,其中framework/fit/python目录即为 FIT for Python 工程根目录,可将该目录作为 PyCharm 和 VsCode 的工程根目录打开。 |
| 36 | +下载代码,其中 `framework/fit/python` 目录即为 FIT for Python 工程根目录,可将该目录作为 PyCharm 和 VS Code 的工程根目录打开。 |
8 | 37 |
|
9 | 38 | ## 环境准备 |
10 | 39 |
|
11 | | -需要在 python 3.9 及以上版本安装 FIT for Python 工程根目录中`requirements.txt`所指定的第三方依赖,当前三方包依赖如下: |
| 40 | +需要在 Python 3.9 及以上版本安装 `requirements.txt` 中的第三方依赖,当前依赖如下: |
12 | 41 |
|
13 | 42 | ```python |
14 | 43 | numpy==1.25.2 |
15 | 44 | PyYAML==6.0.1 |
16 | 45 | requests==2.31.0 |
17 | 46 | tornado==6.3.2 |
18 | | -``` |
| 47 | +``` |
| 48 | + |
| 49 | +推荐在虚拟环境中安装依赖: |
| 50 | +```bash |
| 51 | +python -m venv .venv # 创建虚拟环境 |
| 52 | +source .venv/bin/activate # Windows 可执行 .\.venv\Scripts\activate |
| 53 | +pip install -r requirements.txt |
| 54 | +``` |
| 55 | + |
| 56 | +## 快速开始 |
| 57 | + |
| 58 | +1. 进入工程根目录:`cd framework/fit/python`。 |
| 59 | +2. 创建并激活虚拟环境,安装依赖:同上所示。 |
| 60 | +3. 按需修改 `conf/application.yml` 中的 `registry-center` 和端口配置。 |
| 61 | +4. 启动:`python -m fitframework`,观察终端或 `fit_framework.log` 是否有错误。 |
| 62 | +5. 健康检查:按下文 curl 示例确认返回 `OK`。 |
| 63 | + |
| 64 | +## 启动框架 |
| 65 | + |
| 66 | +在项目根目录执行: |
| 67 | +```bash |
| 68 | +python -m fitframework |
| 69 | +``` |
| 70 | +默认会启动本地服务并按配置加载插件;进程前台运行,终端保持开启即可。 |
| 71 | + |
| 72 | +## 运行校验 |
| 73 | + |
| 74 | +启动后可通过健康检查确认框架与插件是否正常加载: |
| 75 | + |
| 76 | +```bash |
| 77 | +curl --request GET \ |
| 78 | + --url http://localhost:9666/fit/health \ |
| 79 | + --header 'FIT-Data-Format: 1' \ |
| 80 | + --header 'FIT-Genericable-Version: 1.0.0' \ |
| 81 | + --header 'FIT-Version: 2' |
| 82 | +``` |
| 83 | + |
| 84 | +若返回 `OK` 表示框架已正常启动且插件加载成功。 |
| 85 | + |
| 86 | +## 插件开发与构建(简要) |
| 87 | + |
| 88 | +1. 初始化插件工程(在项目根目录): |
| 89 | + ```bash |
| 90 | + python -m fit_cli init your_plugin_name |
| 91 | + ``` |
| 92 | +2. 开发完成后构建与打包: |
| 93 | + ```bash |
| 94 | + python -m fit_cli build your_plugin_name |
| 95 | + python -m fit_cli package your_plugin_name |
| 96 | + ``` |
| 97 | + 生成的产物位于 `plugin/your_plugin_name/build/`。 |
| 98 | + |
| 99 | +更多 CLI 细节可参考 `fit_cli/readme.md`。 |
| 100 | + |
| 101 | +## 常见排查 |
| 102 | + |
| 103 | +- 启动报端口占用:调整 `conf/fit_startup.yml` 或 `application.yml` 中的端口后重启。 |
| 104 | +- 注册中心连通性:确认 `registry-center.addresses` 可达,必要时先用 curl/ping 验证。 |
| 105 | +- 重新安装依赖:在已激活虚拟环境中执行 `pip install -r requirements.txt --force-reinstall`。 |
| 106 | +- 停止服务:直接中断前台进程(Ctrl+C),或关闭终端会话。 |
0 commit comments