modify: 进程插进目录结构更新
This commit is contained in:
@@ -57,23 +57,25 @@ with zipfile.ZipFile(zip_path) as z:
|
||||
"secret_key" not in z.read("config.toml").decode(),
|
||||
)
|
||||
|
||||
# 依赖清单:chongming-worker 内网 git 源 + worker_serve 入口
|
||||
# 依赖清单:chongming-worker 内网 git 源(worker 入口脚本由 SDK 提供,插件自身不声明)
|
||||
pyproject = tomllib.loads(z.read("pyproject.toml").decode())
|
||||
deps = pyproject["project"]["dependencies"]
|
||||
check("pyproject 依赖包含 chongming-worker", "chongming-worker" in deps)
|
||||
check("pyproject 依赖包含 orjson(SDK 运行时依赖)", "orjson" in deps)
|
||||
check(
|
||||
"pyproject 声明 worker_serve 入口",
|
||||
pyproject["project"]["scripts"].get("worker_serve") == "chongming_worker.process:worker_serve",
|
||||
"pyproject 不声明 project.scripts(非打包项目 uv 会跳过入口点)",
|
||||
"scripts" not in pyproject.get("project", {}),
|
||||
str(pyproject.get("project", {}).keys()),
|
||||
)
|
||||
check(
|
||||
"pyproject 声明 chongming-worker git 源",
|
||||
pyproject["tool"]["uv"]["sources"]["chongming-worker"]["git"] == gp.CHONGMING_WORKER_GIT,
|
||||
)
|
||||
|
||||
# start.sh:可执行 + 指向正确的插件 type
|
||||
# start.sh:可执行 + 用 SDK 的 chongming-worker 脚本启动正确的插件 type
|
||||
start_sh = z.read("start.sh").decode()
|
||||
check("start.sh 以 --type demo 启动", "--type demo" in start_sh)
|
||||
check("start.sh 使用 chongming-worker(SDK console script)", "chongming-worker" in start_sh)
|
||||
perms = (z.getinfo("start.sh").external_attr >> 16) & 0o777
|
||||
check("start.sh 可执行(0o755)", perms == 0o755, oct(perms))
|
||||
|
||||
|
||||
@@ -25,10 +25,11 @@ POLL_TIMEOUT = 30.0
|
||||
REPO = Path(__file__).parent.parent
|
||||
PROJECT = REPO / "workers" / "demo"
|
||||
|
||||
# 优先使用仓库 venv 控制台脚本(避免在插件项目内新建 venv),否则退回 uv run --project
|
||||
_WORKER_CMD = [str(Path(sys.executable).parent / "worker_serve"), "--type", "demo"]
|
||||
# 优先使用仓库 venv 的 chongming-worker 控制台脚本(避免在插件项目内新建 venv),
|
||||
# 否则退回 uv run --project(SDK 入口脚本,与容器 start.sh 一致)
|
||||
_WORKER_CMD = [str(Path(sys.executable).parent / "chongming-worker"), "--type", "demo"]
|
||||
if not Path(_WORKER_CMD[0]).exists():
|
||||
_WORKER_CMD = ["uv", "run", "--project", str(REPO), "worker_serve", "--type", "demo"]
|
||||
_WORKER_CMD = ["uv", "run", "--project", str(REPO), "chongming-worker", "--type", "demo"]
|
||||
|
||||
PASS = 0
|
||||
FAIL = 0
|
||||
|
||||
Reference in New Issue
Block a user