36 lines
1.1 KiB
Markdown
36 lines
1.1 KiB
Markdown
|
|
# Changelog — 脚本执行内置分批
|
||
|
|
|
||
|
|
**日期**: 2026-05-22
|
||
|
|
**类型**: 功能
|
||
|
|
**上级索引**: [2026-05-22-script-execution-platform.md](./2026-05-22-script-execution-platform.md)
|
||
|
|
**SSOT**: [docs/project/script-execution.md](../project/script-execution.md)
|
||
|
|
|
||
|
|
## 变更摘要
|
||
|
|
|
||
|
|
一次可选全站服务器;超过 `batch_size` 时后端按批顺序执行,前端多轮 `POST /exec` 合并为一条页顶状态卡。
|
||
|
|
|
||
|
|
## 配置
|
||
|
|
|
||
|
|
| 项 | 默认 | 位置 |
|
||
|
|
|----|------|------|
|
||
|
|
| `NEXUS_SCRIPT_EXEC_BATCH_SIZE` | 50 | `.env` / `server/config.py` |
|
||
|
|
| `NEXUS_SCRIPT_EXEC_CONCURRENCY` | 10 | 同上 |
|
||
|
|
|
||
|
|
## API / 前端
|
||
|
|
|
||
|
|
- `GET /api/scripts/exec-config` → `{ batch_size, concurrency }`
|
||
|
|
- `ScriptService.execute_command` 按批执行,批内 `Semaphore(concurrency)`
|
||
|
|
- `scripts.html`:全选、分批提示、「第 x/y 批」、长任务勾选
|
||
|
|
|
||
|
|
## 涉及文件
|
||
|
|
|
||
|
|
- `server/config.py`
|
||
|
|
- `server/application/services/script_service.py`
|
||
|
|
- `server/api/scripts.py`
|
||
|
|
- `web/app/scripts.html`
|
||
|
|
|
||
|
|
## 用法
|
||
|
|
|
||
|
|
- 一次可全选所有服务器;超过 50 台自动分多批
|
||
|
|
- 长任务:`timeout` 仅限制点火命令(建议 60~120s)
|