姚章浩
47eb23cf68
feat(library): 封存执行器可用性与还原条件来自真实观测
页面上的"可发起封存"原来只判 LIBRARY_AGENT_SOCKET 非空:正式栈的 API 根本没挂
那个 socket,而 agent 曾顶着正式单元名冻结候选实例——配置非空、页面可点、真发起
却封错库。
现在:agent 新增 health 动作(不占封存操作锁、不跑子进程,只回答身份/降级/忙),
worker 每 30 秒探测并写入迁移 074 的 library_executor_status;overview、快照列表与
POST /library/captures 共用同一份判定(过期、不可达、实例不符、降级、正忙都拒绝并
给原因)。封存结果由 agent 附上自报身份,worker 在停写入者之前再探测一次、执行后
用结果复核,不一致就不登记测试封存——心跳只能证明"刚才"。
期望身份用 LIBRARY_SOURCE_*(封存源),不是 LIBRARY_TARGET_*(同步目标),否则
正确的执行器会被判成不匹配。另加 GET /library/restore-availability:恢复能否执行由
双闸、该快照的恢复授权与实例维护状态决定,页面不再写死 disabled。
真跑(候选隔离栈,两处 socket 隔离不变):overview 返回 executor
{kgmaint-weknora/kgmaint-app};停 agent 后转不可达并 503 带原因;重启后恢复。
2026-10-29 13:01:37 +08:00
..
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:06 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:07 +08:00
2026-09-30 10:54:07 +08:00
2026-10-08 15:41:13 +08:00
2026-10-08 15:41:13 +08:00
2026-10-09 13:50:23 +08:00
2026-10-09 13:50:23 +08:00
2026-10-13 19:40:19 +08:00
2026-10-13 19:40:19 +08:00
2026-10-14 12:36:32 +08:00
2026-10-14 12:36:32 +08:00
2026-10-17 11:39:38 +08:00
2026-10-17 11:39:38 +08:00
2026-10-17 22:37:26 +08:00
2026-10-17 22:37:26 +08:00
2026-10-18 19:10:47 +08:00
2026-10-18 19:10:47 +08:00
2026-10-18 21:50:29 +08:00
2026-10-18 21:50:29 +08:00
2026-10-18 23:26:55 +08:00
2026-10-18 23:26:55 +08:00
2026-10-19 08:49:18 +08:00
2026-10-19 08:49:18 +08:00
2026-10-19 14:29:49 +08:00
2026-10-19 14:29:49 +08:00
2026-10-19 14:29:49 +08:00
2026-10-19 14:29:49 +08:00
2026-10-19 14:29:49 +08:00
2026-10-19 14:29:49 +08:00
2026-10-19 17:55:15 +08:00
2026-10-19 17:55:15 +08:00
2026-10-20 05:44:02 +08:00
2026-10-20 05:44:02 +08:00
2026-10-20 08:18:03 +08:00
2026-10-20 08:18:03 +08:00
2026-10-26 09:49:23 +08:00
2026-10-26 09:49:23 +08:00
2026-10-26 15:59:06 +08:00
2026-10-26 15:59:06 +08:00
2026-10-26 15:59:06 +08:00
2026-10-26 15:59:06 +08:00
2026-10-26 16:06:17 +08:00
2026-10-26 16:06:17 +08:00
2026-10-26 16:09:00 +08:00
2026-10-26 16:09:00 +08:00
2026-10-27 10:42:30 +08:00
2026-10-27 10:42:30 +08:00
2026-10-28 13:58:51 +08:00
2026-10-28 13:58:51 +08:00
2026-10-28 15:11:27 +08:00
2026-10-28 15:11:27 +08:00
2026-10-28 16:27:46 +08:00
2026-10-28 16:27:46 +08:00
2026-10-28 17:53:43 +08:00
2026-10-28 17:53:43 +08:00
2026-10-28 20:45:02 +08:00
2026-10-28 20:45:02 +08:00
2026-10-28 23:01:29 +08:00
2026-10-28 23:01:29 +08:00
2026-10-29 00:50:32 +08:00
2026-10-29 00:50:32 +08:00
2026-10-29 06:55:13 +08:00
2026-10-29 06:55:13 +08:00
2026-10-29 13:01:37 +08:00
2026-10-29 13:01:37 +08:00