docs: clarify code queue concurrency budget
This commit is contained in:
@@ -70,7 +70,7 @@ frontend 的 artifact 上线顺序为:先运行必要的轻量本地校验或
|
||||
|
||||
主 server `code-queue-mgr` 是低资源控制面,目标常驻内存不超过 100 MB,只允许 PostgreSQL 小连接池、日志和基础 CRUD/摘要逻辑;不得安装或运行 Playwright、Chromium、Codex/OpenCode、Docker socket、dev-container 或执行器。它的 `/health` 必须暴露 `resourceBudget.targetMemoryMb=100`、`noRunnerDependencies=true`、连接池上限和 `role=master-control-plane`,便于在主 server 低内存环境中识别是否越界。
|
||||
|
||||
D601 Code Queue 执行面仍必须保持明确的 memory/swap 硬上限,默认 `CODE_QUEUE_MAX_ACTIVE_QUEUES=0` 以恢复 queue 间并行,仍保持 `CODE_QUEUE_IN_MEMORY_OUTPUT_RECORDS=10`、`CODE_QUEUE_IN_MEMORY_EVENT_RECORDS=10` 这类小热窗口;任务历史、队列统计和 Trace/output 读取必须优先从 PostgreSQL 直读或聚合,执行面 `/health` 只做轻量 readiness,不能为了性能便利在 Bun 进程内缓存全量历史。任何提高 Code Queue 热窗口、日志缓冲、Playwright/Codex 子进程常驻规模或容器上限的变更,或把 `CODE_QUEUE_MAX_ACTIVE_QUEUES` 显式改成正数,都必须在同一任务里说明 D601 资源预算来源,并通过 D601 `KUBECONFIG=/etc/rancher/k3s/k3s.yaml kubectl -n unidesk get deploy,svc,pod`、`kubectl -n unidesk top pod` 或等价 Docker stats、D601 scheduler health 和对应 E2E 证明未重新引入内存爆炸风险。D601 上的默认 `kubectl` context 可能不是 UniDesk 原生 k3s,不能替代该 kubeconfig 验证。
|
||||
D601 Code Queue 执行面仍必须保持明确的 memory/swap 硬上限;production scheduler 当前预算是 k3s `request.memory=15Gi`、`limit.memory=15Gi`,legacy D601 Compose fallback 是 `mem_limit=15g`、`memswap_limit=16g`。默认 `CODE_QUEUE_MAX_ACTIVE_QUEUES=0` 以恢复 queue 间并行,语义是不按 queue 数量设置全局 active run slot 上限,不是“常规 5、burst 10”的策略开关;当前能同时推进约 10 个 GPT-5.5 run 只应视为 15Gi cgroup 与 memory watchdog 下的实测运行边界。如需把常规 5 / burst 10 产品化,必须另行设计显式容量策略或把正数上限作为固定硬 cap 并补预算说明。执行面仍保持 `CODE_QUEUE_IN_MEMORY_OUTPUT_RECORDS=10`、`CODE_QUEUE_IN_MEMORY_EVENT_RECORDS=10` 这类小热窗口;任务历史、队列统计和 Trace/output 读取必须优先从 PostgreSQL 直读或聚合,执行面 `/health` 只做轻量 readiness,不能为了性能便利在 Bun 进程内缓存全量历史。任何提高 Code Queue 热窗口、日志缓冲、Playwright/Codex 子进程常驻规模或容器上限的变更,或把 `CODE_QUEUE_MAX_ACTIVE_QUEUES` 显式改成正数,都必须在同一任务里说明 D601 资源预算来源,并通过 D601 `KUBECONFIG=/etc/rancher/k3s/k3s.yaml kubectl -n unidesk get deploy,svc,pod`、`kubectl -n unidesk top pod` 或等价 Docker stats、D601 scheduler health 和对应 E2E 证明未重新引入内存爆炸风险。D601 上的默认 `kubectl` context 可能不是 UniDesk 原生 k3s,不能替代该 kubeconfig 验证。
|
||||
|
||||
## Database Connection Budget
|
||||
|
||||
|
||||
Reference in New Issue
Block a user