From b453c6871ed5fda64f36d170eafd336234e5cf51 Mon Sep 17 00:00:00 2001 From: oliver Date: Tue, 22 Sep 2026 19:14:16 +0800 Subject: [PATCH] Document biz_state light/heavy collect timeout env vars. Add dual-lane READ vs RUN_TIMEOUT_CAP notes to .env.example and WEB.md so operators can raise the ~40min heavy cap. Co-authored-by: Cursor --- .env.example | 9 +++++++++ web/WEB.md | 5 +++++ 2 files changed, 14 insertions(+) diff --git a/.env.example b/.env.example index 98db0cd..0e644df 100644 --- a/.env.example +++ b/.env.example @@ -75,6 +75,15 @@ NETX_UME_NOTIFICATION_TOPIC=ALARM # NETX_BIZ_STATE_WORKER_REPLICAS=2 # NETX_BIZ_STATE_SPOOL_DIR=data/biz_state_spool # NETX_BIZ_STATE_PERSIST_EVERY_CMDS=8 +# Dual-lane CLI timeouts (light = shared SSH; heavy = interface/route/MAC etc.): +# READ = per-command wait; RUN_TIMEOUT_CAP = whole-lane wall clock (often the ~40min abort). +# Light lane reuses NE collect defaults below (read 120s / cap 600s ≈ 10min). +# NETX_NE_COLLECT_READ_TIMEOUT_SEC=120 +# NETX_NE_COLLECT_RUN_TIMEOUT_CAP_SEC=600 +# Heavy lane defaults (raise CAP if batches end around 40min as partial/timeout): +# NETX_BIZ_STATE_HEAVY_READ_TIMEOUT_SEC=1500 +# NETX_BIZ_STATE_HEAVY_RUN_TIMEOUT_CAP_SEC=2400 +# NETX_BIZ_STATE_HEAVY_WORKERS=4 # --- Multi-user shared-server capacity (defaults in Settings already match these) --- # NETX_DB_POOL_SIZE=40 # NETX_DB_MAX_OVERFLOW=40 diff --git a/web/WEB.md b/web/WEB.md index 96fc016..691e194 100644 --- a/web/WEB.md +++ b/web/WEB.md @@ -135,6 +135,11 @@ src/ - API 补充:`GET /v1/biz-state/compare/metrics`;模板 `metrics[]` 多表结构 - Phase3:VRF 发现(`*.vrf_list`)供带参采集绑定;`PUT …/items/{id}/bindings` - 调度:`NETX_BIZ_STATE_SCHEDULER_ENABLED`(默认开),tick `NETX_BIZ_STATE_SCHEDULER_TICK_SEC` +- **双车道采集**:监控项 `collect_lane=light|heavy`(UI「采集车道」列)。轻/重各一条 SSH;整轮墙钟上限 = `RUN_TIMEOUT_CAP`(命令多时易顶满)。 + - 轻车道:`NETX_NE_COLLECT_READ_TIMEOUT_SEC`(单条,默认 120)· `NETX_NE_COLLECT_RUN_TIMEOUT_CAP_SEC`(整轮,默认 **600≈10min**) + - 重车道:`NETX_BIZ_STATE_HEAVY_READ_TIMEOUT_SEC`(单条,默认 1500)· `NETX_BIZ_STATE_HEAVY_RUN_TIMEOUT_CAP_SEC`(整轮,默认 **2400≈40min**) + - 批次约 40 分钟以 `*_timeout (2400s)` / `partial` 结束时,优先加大 `NETX_BIZ_STATE_HEAVY_RUN_TIMEOUT_CAP_SEC`(见 `.env.example`) +- 停止采集:`POST /v1/biz-state/tasks/{id}/collect/stop`(排队直接取消;执行中命令间隙中止) - 前端:`/network/tasks/biz-state`(勾选监控项 / 发现 VRF / 批次 / 导出 zip) ## 拓扑管理(Fabric + 站点目录,对齐厂商)