From 09907b21f1fffb0d037b04514d90eb7f2193efb0 Mon Sep 17 00:00:00 2001 From: ThearchyHelios Date: Mon, 19 Oct 2026 12:23:07 +0800 Subject: [PATCH] =?UTF-8?q?README=EF=BC=9Aprod.sh=20=E9=82=A3=E4=B8=80?= =?UTF-8?q?=E5=8F=A5=E7=85=A7=E5=A4=9A=E8=BF=9B=E7=A8=8B=E6=94=B9=EF=BC=9B?= =?UTF-8?q?=E5=A4=9A=E8=BF=9B=E7=A8=8B=E4=B8=80=E8=8A=82=E8=A1=A5=E8=BF=9E?= =?UTF-8?q?=E6=8E=A5=E6=95=B0=EF=BC=88=E6=AF=8F=E4=B8=AA=E8=BF=9B=E7=A8=8B?= =?UTF-8?q?=E5=A4=9A=E4=B8=80=E6=9D=A1=E6=94=B6=E5=8F=91=E9=80=9A=E7=9F=A5?= =?UTF-8?q?=E7=9A=84=E8=BF=9E=E6=8E=A5=EF=BC=8C=E5=92=A8=E8=AF=A2=E9=94=81?= =?UTF-8?q?=E6=8C=81=E9=94=81=E6=9C=9F=E9=97=B4=E5=8D=A0=E4=B8=80=E6=9D=A1?= =?UTF-8?q?=EF=BC=9BPgBouncer=20=E4=BA=8B=E5=8A=A1=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E4=B8=8B=20LISTEN=20=E5=92=8C=E4=BC=9A=E8=AF=9D=E7=BA=A7?= =?UTF-8?q?=E5=92=A8=E8=AF=A2=E9=94=81=E4=B8=8D=E6=88=90=E7=AB=8B=EF=BC=8C?= =?UTF-8?q?=E5=A4=9A=E8=BF=9B=E7=A8=8B=E5=BB=BA=E8=AE=AE=E7=9B=B4=E8=BF=9E?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e69832d3..30eb0c31 100644 --- a/README.md +++ b/README.md @@ -60,7 +60,7 @@ Mock 不会写引用标记:探索运行里报告撰写节点照样跑完,但 ## 生产部署 -**不用 Docker:** `./scripts/prod.sh` 构建前端并由后端一并托管页面,单进程、不热重载,启动于 +**不用 Docker:** `./scripts/prod.sh` 构建前端并由后端一并托管页面,缺省一个进程(`--workers` 起多个,要 PostgreSQL)、不热重载,启动于 http://127.0.0.1:8000 。前端产物不存在或比源码旧时才重新构建,`--build` / `--no-build` 强制构建或跳过。 `--port`(或 `AGENTLAB_PORT`)改端口;`--host` 监听所有网卡,默认同样**不开登录**,多人使用请开登录 ([身份与权限](#身份与权限))。 @@ -1126,6 +1126,10 @@ AGENTLAB_WORKERS=4 … | `AGENTLAB_WORKER_LEASE_S` | 30 | 租约多长(至少是心跳的 3 倍):进程没了(强杀、断电)多久之后别的进程接手 | | `AGENTLAB_SCHEDULER_TICK_S` | 15 | 调度循环一拍的间隔 | +连接数照上一节「连接数的账」按进程数乘,另外每个进程多一条专门收发进程间通知(LISTEN / NOTIFY)的连接,不占连接池;跨进程的锁 +(咨询锁)持锁期间占连接池里的一条。前面放 PgBouncer(事务模式)时,通知那一条要直连 PostgreSQL(事务模式下 LISTEN 收不到通知), +会话级的咨询锁也要求直连或会话模式——多进程部署建议应用库直连。 + **认领和租约。** 每个进程在库里登记一行(主机、pid、启动时的随机串),隔一拍心跳续租约。运行、问数据的一轮、后台任务(探查、起草、 剖析、评测、影子起草)、处理中的文档、执行中的发布单都记着认领它的进程;租约按进程算,进程没了它认领的行一起到期。平稳关停的进程 交班、删掉自己的登记,别的进程马上接手;强杀的等租约过期。启动时的整理只碰属主不在了的行,绝不碰别的活进程的。接手的规矩: