modify: 进程插进目录结构更新
This commit is contained in:
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user