taolib.symphony.workspace.hooks

taolib.symphony.workspace.hooks#

工作区生命周期钩子。

通过 asyncio 子进程执行钩子脚本,支持超时控制, 防止编排器因挂起的钩子而阻塞。

Exceptions#

HookTimeoutError

钩子脚本执行超时。

Functions#

run_hook(→ int)

执行钩子脚本,超时则终止。

Module Contents#

exception taolib.symphony.workspace.hooks.HookTimeoutError#

Bases: taolib.symphony.errors.HookError

钩子脚本执行超时。

async taolib.symphony.workspace.hooks.run_hook(script: str, cwd: pathlib.Path, timeout_ms: int) int#

执行钩子脚本,超时则终止。

在指定工作目录中以 shell 方式执行脚本, 捕获 stdout/stderr 用于错误报告。

参数:
  • script -- 要执行的 shell 命令。

  • cwd -- 工作目录。

  • timeout_ms -- 超时毫秒数。

返回:

进程退出码。

抛出: