modify: 进程插进目录结构更新
This commit is contained in:
+1
-1
@@ -4,7 +4,7 @@ requires = ["hatchling"]
|
|||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "chongming-cli"
|
name = "chongming-cli"
|
||||||
version = "0.1.0"
|
version = "0.1.1"
|
||||||
description = "chongming 命令脚本集合:构建打包 / 进程插件打包 / 插件脚手架 / 模型生成"
|
description = "chongming 命令脚本集合:构建打包 / 进程插件打包 / 插件脚手架 / 模型生成"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
requires-python = ">=3.12"
|
requires-python = ">=3.12"
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
├── config/zenoh_config.json5 Zenoh 会话配置
|
├── config/zenoh_config.json5 Zenoh 会话配置
|
||||||
├── config.toml 最小根配置(仅 [zenoh] 节,worker 启动必需)
|
├── config.toml 最小根配置(仅 [zenoh] 节,worker 启动必需)
|
||||||
├── pyproject.toml uv 依赖清单(chongming-worker + 扩展依赖)
|
├── pyproject.toml uv 依赖清单(chongming-worker + 扩展依赖)
|
||||||
└── start.sh 容器入口: uv sync + uv run worker_serve --type <name>
|
└── start.sh 容器入口: uv sync + uv run chongming-worker --type <name>
|
||||||
|
|
||||||
说明:
|
说明:
|
||||||
- 打包自动排除 __pycache__ / *.pyc / .venv / *.egg-info / .git
|
- 打包自动排除 __pycache__ / *.pyc / .venv / *.egg-info / .git
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
workers/<name>/config/zenoh_config.json5 Zenoh 会话配置(自仓库根复制)
|
workers/<name>/config/zenoh_config.json5 Zenoh 会话配置(自仓库根复制)
|
||||||
workers/<name>/config.toml 最小根配置(仅 [zenoh] 节)
|
workers/<name>/config.toml 最小根配置(仅 [zenoh] 节)
|
||||||
workers/<name>/pyproject.toml uv 依赖清单(chongming-worker + orjson)
|
workers/<name>/pyproject.toml uv 依赖清单(chongming-worker + orjson)
|
||||||
workers/<name>/start.sh 入口脚本(uv sync + worker_serve)
|
workers/<name>/start.sh 入口脚本(uv sync + chongming-worker)
|
||||||
|
|
||||||
生成内容(默认 inline):
|
生成内容(默认 inline):
|
||||||
config/workers/<name>/config.toml Worker 注册 + 运行时配置
|
config/workers/<name>/config.toml Worker 注册 + 运行时配置
|
||||||
@@ -76,7 +76,7 @@ module = "workers.{name}"
|
|||||||
factory = "create_workers"
|
factory = "create_workers"
|
||||||
cleanup = "cleanup"
|
cleanup = "cleanup"
|
||||||
count = 1
|
count = 1
|
||||||
# 进程插件:由 Docker/K8s 编排拉起独立进程(容器入口 ./start.sh / worker_serve --type {name}),
|
# 进程插件:由 Docker/K8s 编排拉起独立进程(容器入口 ./start.sh / chongming-worker --type {name}),
|
||||||
# 经 Zenoh 注册路由,网关动态挂载;与 src/plugins/ 下的 inline 插件可同时存在
|
# 经 Zenoh 注册路由,网关动态挂载;与 src/plugins/ 下的 inline 插件可同时存在
|
||||||
load_mode = "external"
|
load_mode = "external"
|
||||||
|
|
||||||
@@ -272,7 +272,11 @@ json5_path = "config/zenoh_config.json5"
|
|||||||
|
|
||||||
|
|
||||||
def _gen_pyproject_toml(name: str) -> str:
|
def _gen_pyproject_toml(name: str) -> str:
|
||||||
"""插件 uv 依赖清单(chongming-worker + 扩展依赖,扩展依赖自行追加)。"""
|
"""插件 uv 依赖清单(chongming-worker + 扩展依赖,扩展依赖自行追加)。
|
||||||
|
|
||||||
|
注意:不声明 [project.scripts]——插件项目非打包项目(无 build-system),
|
||||||
|
uv sync 会跳过其入口点;worker 进程入口由 SDK 的 chongming-worker 脚本提供。
|
||||||
|
"""
|
||||||
deps = [
|
deps = [
|
||||||
"chongming-worker",
|
"chongming-worker",
|
||||||
"orjson", # chongming-worker 运行时依赖(SDK metadata 未声明,容器内需显式安装)
|
"orjson", # chongming-worker 运行时依赖(SDK metadata 未声明,容器内需显式安装)
|
||||||
@@ -288,9 +292,6 @@ dependencies = [
|
|||||||
{deps_lines}
|
{deps_lines}
|
||||||
]
|
]
|
||||||
|
|
||||||
[project.scripts]
|
|
||||||
worker_serve = "chongming_worker.process:worker_serve"
|
|
||||||
|
|
||||||
[[tool.uv.index]]
|
[[tool.uv.index]]
|
||||||
url = "{PYPI_MIRROR}"
|
url = "{PYPI_MIRROR}"
|
||||||
|
|
||||||
@@ -300,7 +301,7 @@ chongming-worker = {{ git = "{CHONGMING_WORKER_GIT}" }}
|
|||||||
|
|
||||||
|
|
||||||
def _gen_start_sh(name: str) -> str:
|
def _gen_start_sh(name: str) -> str:
|
||||||
"""容器入口脚本:uv 引导依赖 + 启动 worker 进程。"""
|
"""容器入口脚本:uv 引导依赖 + 启动 worker 进程(SDK 的 chongming-worker 脚本)。"""
|
||||||
return f"""#!/usr/bin/env bash
|
return f"""#!/usr/bin/env bash
|
||||||
# {name} 进程插件容器入口(由 gen_plugin --process 生成)
|
# {name} 进程插件容器入口(由 gen_plugin --process 生成)
|
||||||
# 要求: 镜像预装 uv(https://docs.astral.sh/uv/)
|
# 要求: 镜像预装 uv(https://docs.astral.sh/uv/)
|
||||||
@@ -308,7 +309,7 @@ set -e
|
|||||||
cd "$(dirname "$0")"
|
cd "$(dirname "$0")"
|
||||||
|
|
||||||
uv sync --no-dev
|
uv sync --no-dev
|
||||||
exec uv run worker_serve --type {name} "$@"
|
exec uv run chongming-worker --type {name} "$@"
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
@@ -327,7 +328,7 @@ def _gen_readme(name: str) -> str:
|
|||||||
│ └── workers/{name}/ 插件注册 + 端点配置(config.toml + <op>.toml)
|
│ └── workers/{name}/ 插件注册 + 端点配置(config.toml + <op>.toml)
|
||||||
├── config.toml 最小根配置(仅 [zenoh] 节)
|
├── config.toml 最小根配置(仅 [zenoh] 节)
|
||||||
├── pyproject.toml uv 依赖清单(扩展依赖直接在此追加)
|
├── pyproject.toml uv 依赖清单(扩展依赖直接在此追加)
|
||||||
└── start.sh 入口脚本(uv sync + uv run worker_serve --type {name})
|
└── start.sh 入口脚本(uv sync + uv run chongming-worker --type {name})
|
||||||
```
|
```
|
||||||
|
|
||||||
## 开发
|
## 开发
|
||||||
@@ -339,7 +340,7 @@ uv run gen_models workers/{name}/config/workers/{name} workers/{name}/workers/{n
|
|||||||
# 本地调试(在项目根执行,或直接 ./start.sh)
|
# 本地调试(在项目根执行,或直接 ./start.sh)
|
||||||
cd workers/{name}
|
cd workers/{name}
|
||||||
uv sync # 首次:安装依赖(项目独立 venv,与容器一致)
|
uv sync # 首次:安装依赖(项目独立 venv,与容器一致)
|
||||||
uv run worker_serve --type {name}
|
uv run chongming-worker --type {name}
|
||||||
```
|
```
|
||||||
|
|
||||||
## 打包(在仓库根执行)
|
## 打包(在仓库根执行)
|
||||||
@@ -456,7 +457,7 @@ def generate_plugin(name: str, operations: list[str], process: bool = False) ->
|
|||||||
print(f" 1. uv run gen_models {gen_models_cmd}")
|
print(f" 1. uv run gen_models {gen_models_cmd}")
|
||||||
print(f" 2. 编辑 {code_dir.relative_to(ROOT)}/router/ 实现业务逻辑")
|
print(f" 2. 编辑 {code_dir.relative_to(ROOT)}/router/ 实现业务逻辑")
|
||||||
if process:
|
if process:
|
||||||
print(f" 3. cd {PROCESS_DIR.relative_to(ROOT)}/{name} && ./start.sh 或 uv run worker_serve --type {name}")
|
print(f" 3. cd {PROCESS_DIR.relative_to(ROOT)}/{name} && ./start.sh 或 uv run chongming-worker --type {name}")
|
||||||
print(f" 4. uv run build_plugin {name}")
|
print(f" 4. uv run build_plugin {name}")
|
||||||
else:
|
else:
|
||||||
print(" 3. uv run serve")
|
print(" 3. uv run serve")
|
||||||
|
|||||||
Reference in New Issue
Block a user