modify: 进程插进目录结构更新

This commit is contained in:
2026-08-26 09:38:43 +08:00
parent a705d18e06
commit dfaca3ef3a
3 changed files with 14 additions and 13 deletions
+12 -11
View File
@@ -25,7 +25,7 @@
workers/<name>/config/zenoh_config.json5 Zenoh 会话配置(自仓库根复制)
workers/<name>/config.toml 最小根配置(仅 [zenoh] 节)
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):
config/workers/<name>/config.toml Worker 注册 + 运行时配置
@@ -76,7 +76,7 @@ module = "workers.{name}"
factory = "create_workers"
cleanup = "cleanup"
count = 1
# 进程插件:由 Docker/K8s 编排拉起独立进程(容器入口 ./start.sh / worker_serve --type {name}),
# 进程插件:由 Docker/K8s 编排拉起独立进程(容器入口 ./start.sh / chongming-worker --type {name}),
# 经 Zenoh 注册路由,网关动态挂载;与 src/plugins/ 下的 inline 插件可同时存在
load_mode = "external"
@@ -272,7 +272,11 @@ json5_path = "config/zenoh_config.json5"
def _gen_pyproject_toml(name: str) -> str:
"""插件 uv 依赖清单(chongming-worker + 扩展依赖,扩展依赖自行追加)。"""
"""插件 uv 依赖清单(chongming-worker + 扩展依赖,扩展依赖自行追加)。
注意:不声明 [project.scripts]——插件项目非打包项目(无 build-system),
uv sync 会跳过其入口点;worker 进程入口由 SDK 的 chongming-worker 脚本提供。
"""
deps = [
"chongming-worker",
"orjson", # chongming-worker 运行时依赖(SDK metadata 未声明,容器内需显式安装)
@@ -288,9 +292,6 @@ dependencies = [
{deps_lines}
]
[project.scripts]
worker_serve = "chongming_worker.process:worker_serve"
[[tool.uv.index]]
url = "{PYPI_MIRROR}"
@@ -300,7 +301,7 @@ chongming-worker = {{ git = "{CHONGMING_WORKER_GIT}" }}
def _gen_start_sh(name: str) -> str:
"""容器入口脚本:uv 引导依赖 + 启动 worker 进程。"""
"""容器入口脚本:uv 引导依赖 + 启动 worker 进程(SDK 的 chongming-worker 脚本)。"""
return f"""#!/usr/bin/env bash
# {name} 进程插件容器入口(由 gen_plugin --process 生成)
# 要求: 镜像预装 uv(https://docs.astral.sh/uv/)
@@ -308,7 +309,7 @@ set -e
cd "$(dirname "$0")"
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)
├── config.toml 最小根配置(仅 [zenoh] 节)
├── 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)
cd workers/{name}
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" 2. 编辑 {code_dir.relative_to(ROOT)}/router/ 实现业务逻辑")
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}")
else:
print(" 3. uv run serve")