docs: record persistent backlog measurement

This commit is contained in:
2026-09-20 14:29:19 +08:00
parent 8c9c6062ef
commit ff843b9965
8 changed files with 1536 additions and 2 deletions

View File

@@ -62,7 +62,7 @@ P4/P5定时等待与后续查询轮次的实现及回归记录见[时钟报告](
2. 已实现[基础运行观测](api/observability.md)及[有界业务状态与事件采样](reports/phase-6-business-observability.md):HTTP/WS、数据库连接池、后台批次、固定任务/交付/流程/Inbox状态计数、最近事件类别、终态耗时样本、固定事件阶段耗时、最早年龄、截断/新鲜度指标和可离线验证的告警规则;独立采集监听默认关闭,固定指标目录拒绝动态标签;发布前只读结构核验由[`orbit-admin verify`](api/operations.md)提供,运维人员也可用 `orbit-admin observe snapshot` 获取同一有界单节点快照。仍需端到端外部效果延迟、全局持久吞吐、Inbox从事件产生到推进完成的精确阶段延迟、全局发送队列、多节点聚合及生产采集/通知验证。
3. 已补齐受保护管理环境中的固定凭据操作文件、轮换、撤销、幂等回执和脱敏管理审计;轮换保留授权绑定并要求新令牌重新建立会话,旧 Worker 会话被排空且立即过期,撤销允许在停用范围内执行且不改写历史记录。已用一次性 MySQL 定向验证旧令牌失效、新令牌重绑和零外键;仍需补齐提交不明故障切点、多节点安全重绑演练、凭据最小权限配置核对和生产密钥托管/审计演练。
4. 已补[`orbit-admin retention inventory`](api/retention.md)只读盘点和[阶段报告](reports/phase-6-retention-inventory.md),能区分过期幂等、确定终态、未知效果、未终结流程、已确认/未确认交付、已消费/未消费Inbox、事件和审计规模;它不执行归档或删除。后续仍需评审各类保留周期、归档格式、受保护记录核对,再执行备份恢复、兼容升级和六类容量负载。未确认交付、有效幂等身份、当前/历史执行证据和未终结流程不能被普通清理破坏。生产HA及RPO/RTO继续按实际拓扑验证,不缩减为本机多进程检查。
5. 已补[`orbit-load`](api/load.md)有界受理负载工具及24次/1000次隔离样本,见[受理报告](reports/phase-6-load.md)。新增独立[`orbit-exec-load`](api/execution-load.md),通过真实Worker、任务结果和尝试历史核对,提供短/混合/中长任务的受理、排队、授权执行及完成耗时分布;具体环境、原始JSON和失败分母见[执行测量报告](reports/phase-6-execution-load.md)。新增[`orbit-workflow-load`](api/workflow-load.md),用本次发布版本的双分支并行流程,逐个核对不同任务、唯一尝试、来源、精确输出与本地调用;24/100实例及24实例截止负例已重新构建回归并绑定源码/二进制哈希,见[流程测量报告](reports/phase-6-workflow-load.md)。新增[`orbit-schedule-load`](api/schedule-load.md),已完成24/128次定时集中触发与24次计划量的截止负例,保存实际分母、唯一任务/尝试、来源与暂停收尾证据,见[定时测量报告](reports/phase-6-schedule-load.md)。标准Go 1.27.1全量仍待复跑,下一步补长期积压和资源曲线;目标数据库拓扑容量仍单独验收。
5. 已补[`orbit-load`](api/load.md)有界受理负载工具及24次/1000次隔离样本,见[受理报告](reports/phase-6-load.md)。新增独立[`orbit-exec-load`](api/execution-load.md),通过真实Worker、任务结果和尝试历史核对,提供短/混合/中长任务的受理、排队、授权执行及完成耗时分布;具体环境、原始JSON和失败分母见[执行测量报告](reports/phase-6-execution-load.md)。新增[`orbit-workflow-load`](api/workflow-load.md),用本次发布版本的双分支并行流程,逐个核对不同任务、唯一尝试、来源、精确输出与本地调用;24/100实例及24实例截止负例已重新构建回归并绑定源码/二进制哈希,见[流程测量报告](reports/phase-6-workflow-load.md)。新增[`orbit-schedule-load`](api/schedule-load.md),已完成24/128次定时集中触发与24次计划量的截止负例,保存实际分母、唯一任务/尝试、来源与暂停收尾证据,见[定时测量报告](reports/phase-6-schedule-load.md)。标准Go 1.27.1全量仍待复跑,已补[长期积压与资源曲线样本](reports/phase-6-backlog.md):32×8 共256个触发点,在1个Worker/容量1和180秒截止下保留173个成功、83个未核验任务,并以独立数据库读取记录等待积压曲线;该单节点样本不替代目标拓扑容量。下一步补指标采集对照、长期存储增长、慢消费者/重连风暴和目标数据库拓扑容量。
6. 已补[隔离备份恢复演练](api/backup-restore.md):源库和恢复库均为一次性 MySQL 容器,逻辑备份恢复后核对迁移账本、核心记录数量、固定索引和零外键;证据见[恢复报告](reports/phase-6-backup-restore.md)。该演练不替代生产备份介质、复制切换、跨版本恢复或 RPO/RTO 验收。
7. 已补[A18 数据库短暂不可用恢复演练](api/db-recovery.md):readiness 在数据库停止期间返回 503,同卷恢复后返回 200,并用原权限范围继续受理任务;证据见[数据库恢复报告](reports/phase-6-db-recovery.md)。该演练不替代主从切换、复制确认、跨故障域或 RPO/RTO 验收。

View File

@@ -20,6 +20,8 @@ go run ./cmd/orbit-schedule-load \
可以把 `-schedules` 调到 32、`-requests` 设为 4,观察同一秒集中触发及现有队列速率限制下的排队。队列默认并发和每秒授权量仍由部署配置决定,工具只记录预检快照,不提高配额。另可使用 `-schedules 2 -requests 12 -start-delay 1s -run-timeout 5s` 验证截止不足的失败报告;它必须非零退出,未观察到的触发点不能算成功。
要观察持久化积压,可在一次性数据库使用 `-schedules 32 -requests 8 -workers 1 -capacity 1 -start-delay 5s -run-timeout 180s`。该配置会让256个触发点集中进入队列,报告预期非零并保留未核验分母;独立连接应每2秒读取 `pulse_tasks` 的 `WAITING/LEASED/RUNNING/SUCCEEDED` 计数,示例结果见[长期积压报告](../reports/phase-6-backlog.md)。
## 参数边界
| 参数 | 默认值 | 限制/语义 |

View File

@@ -0,0 +1,799 @@
{
"sample_interval_ms": 2000,
"sample_count": 88,
"timestamp_note": "采样脚本使用 macOS date;当前记录按整秒加 .300Z 规范化,曲线只用于计数趋势,不作为数据库时间戳证据。",
"points": [
{
"at": "2026-09-20T06:20:18.300Z",
"waiting": 0,
"leased": 0,
"running": 0,
"succeeded": 0,
"occurrences": 0,
"unpaused_schedules": 0
},
{
"at": "2026-09-20T06:20:20.300Z",
"waiting": 0,
"leased": 0,
"running": 0,
"succeeded": 0,
"occurrences": 0,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:20:22.300Z",
"waiting": 0,
"leased": 0,
"running": 0,
"succeeded": 0,
"occurrences": 0,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:20:24.300Z",
"waiting": 0,
"leased": 0,
"running": 0,
"succeeded": 0,
"occurrences": 0,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:20:26.300Z",
"waiting": 59,
"leased": 0,
"running": 0,
"succeeded": 1,
"occurrences": 60,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:20:28.300Z",
"waiting": 121,
"leased": 0,
"running": 0,
"succeeded": 3,
"occurrences": 124,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:20:30.300Z",
"waiting": 194,
"leased": 0,
"running": 0,
"succeeded": 5,
"occurrences": 199,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:20:32.300Z",
"waiting": 249,
"leased": 0,
"running": 0,
"succeeded": 7,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:20:34.300Z",
"waiting": 246,
"leased": 0,
"running": 0,
"succeeded": 10,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:20:36.300Z",
"waiting": 244,
"leased": 0,
"running": 0,
"succeeded": 12,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:20:38.300Z",
"waiting": 242,
"leased": 0,
"running": 0,
"succeeded": 14,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:20:40.300Z",
"waiting": 240,
"leased": 0,
"running": 0,
"succeeded": 16,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:20:42.300Z",
"waiting": 238,
"leased": 0,
"running": 0,
"succeeded": 18,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:20:45.300Z",
"waiting": 236,
"leased": 0,
"running": 0,
"succeeded": 20,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:20:47.300Z",
"waiting": 234,
"leased": 0,
"running": 0,
"succeeded": 22,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:20:49.300Z",
"waiting": 232,
"leased": 0,
"running": 0,
"succeeded": 24,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:20:51.300Z",
"waiting": 230,
"leased": 0,
"running": 0,
"succeeded": 26,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:20:53.300Z",
"waiting": 228,
"leased": 0,
"running": 0,
"succeeded": 28,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:20:55.300Z",
"waiting": 226,
"leased": 0,
"running": 0,
"succeeded": 30,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:20:57.300Z",
"waiting": 224,
"leased": 0,
"running": 0,
"succeeded": 32,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:20:59.300Z",
"waiting": 222,
"leased": 0,
"running": 0,
"succeeded": 34,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:21:01.300Z",
"waiting": 220,
"leased": 0,
"running": 0,
"succeeded": 36,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:21:03.300Z",
"waiting": 218,
"leased": 0,
"running": 0,
"succeeded": 38,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:21:05.300Z",
"waiting": 216,
"leased": 0,
"running": 0,
"succeeded": 40,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:21:07.300Z",
"waiting": 213,
"leased": 0,
"running": 0,
"succeeded": 43,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:21:09.300Z",
"waiting": 211,
"leased": 0,
"running": 0,
"succeeded": 45,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:21:11.300Z",
"waiting": 209,
"leased": 0,
"running": 0,
"succeeded": 47,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:21:13.300Z",
"waiting": 207,
"leased": 0,
"running": 0,
"succeeded": 49,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:21:15.300Z",
"waiting": 205,
"leased": 0,
"running": 0,
"succeeded": 51,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:21:18.300Z",
"waiting": 203,
"leased": 0,
"running": 0,
"succeeded": 53,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:21:20.300Z",
"waiting": 201,
"leased": 0,
"running": 0,
"succeeded": 55,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:21:22.300Z",
"waiting": 199,
"leased": 0,
"running": 0,
"succeeded": 57,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:21:24.300Z",
"waiting": 197,
"leased": 0,
"running": 0,
"succeeded": 59,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:21:26.300Z",
"waiting": 195,
"leased": 0,
"running": 0,
"succeeded": 61,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:21:28.300Z",
"waiting": 193,
"leased": 0,
"running": 0,
"succeeded": 63,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:21:30.300Z",
"waiting": 191,
"leased": 0,
"running": 0,
"succeeded": 65,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:21:32.300Z",
"waiting": 189,
"leased": 0,
"running": 0,
"succeeded": 67,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:21:34.300Z",
"waiting": 187,
"leased": 0,
"running": 0,
"succeeded": 69,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:21:36.300Z",
"waiting": 185,
"leased": 0,
"running": 0,
"succeeded": 71,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:21:38.300Z",
"waiting": 183,
"leased": 0,
"running": 0,
"succeeded": 73,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:21:40.300Z",
"waiting": 180,
"leased": 0,
"running": 0,
"succeeded": 76,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:21:42.300Z",
"waiting": 178,
"leased": 0,
"running": 0,
"succeeded": 78,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:21:44.300Z",
"waiting": 176,
"leased": 0,
"running": 0,
"succeeded": 80,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:21:46.300Z",
"waiting": 174,
"leased": 0,
"running": 0,
"succeeded": 82,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:21:48.300Z",
"waiting": 172,
"leased": 0,
"running": 0,
"succeeded": 84,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:21:51.300Z",
"waiting": 170,
"leased": 0,
"running": 0,
"succeeded": 86,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:21:53.300Z",
"waiting": 168,
"leased": 0,
"running": 0,
"succeeded": 88,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:21:55.300Z",
"waiting": 166,
"leased": 0,
"running": 0,
"succeeded": 90,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:21:57.300Z",
"waiting": 164,
"leased": 0,
"running": 0,
"succeeded": 92,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:21:59.300Z",
"waiting": 162,
"leased": 0,
"running": 0,
"succeeded": 94,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:22:01.300Z",
"waiting": 160,
"leased": 0,
"running": 0,
"succeeded": 96,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:22:03.300Z",
"waiting": 158,
"leased": 0,
"running": 0,
"succeeded": 98,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:22:05.300Z",
"waiting": 156,
"leased": 0,
"running": 0,
"succeeded": 100,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:22:07.300Z",
"waiting": 154,
"leased": 0,
"running": 0,
"succeeded": 102,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:22:09.300Z",
"waiting": 152,
"leased": 0,
"running": 0,
"succeeded": 104,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:22:11.300Z",
"waiting": 149,
"leased": 0,
"running": 1,
"succeeded": 106,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:22:13.300Z",
"waiting": 147,
"leased": 0,
"running": 0,
"succeeded": 109,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:22:15.300Z",
"waiting": 145,
"leased": 0,
"running": 0,
"succeeded": 111,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:22:18.300Z",
"waiting": 143,
"leased": 0,
"running": 0,
"succeeded": 113,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:22:20.300Z",
"waiting": 141,
"leased": 0,
"running": 0,
"succeeded": 115,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:22:22.300Z",
"waiting": 139,
"leased": 0,
"running": 0,
"succeeded": 117,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:22:24.300Z",
"waiting": 137,
"leased": 0,
"running": 0,
"succeeded": 119,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:22:26.300Z",
"waiting": 135,
"leased": 0,
"running": 0,
"succeeded": 121,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:22:28.300Z",
"waiting": 133,
"leased": 0,
"running": 0,
"succeeded": 123,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:22:30.300Z",
"waiting": 131,
"leased": 0,
"running": 0,
"succeeded": 125,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:22:32.300Z",
"waiting": 129,
"leased": 0,
"running": 0,
"succeeded": 127,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:22:34.300Z",
"waiting": 127,
"leased": 0,
"running": 0,
"succeeded": 129,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:22:36.300Z",
"waiting": 125,
"leased": 0,
"running": 0,
"succeeded": 131,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:22:38.300Z",
"waiting": 123,
"leased": 0,
"running": 0,
"succeeded": 133,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:22:40.300Z",
"waiting": 120,
"leased": 0,
"running": 0,
"succeeded": 136,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:22:42.300Z",
"waiting": 118,
"leased": 0,
"running": 0,
"succeeded": 138,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:22:44.300Z",
"waiting": 116,
"leased": 0,
"running": 0,
"succeeded": 140,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:22:46.300Z",
"waiting": 114,
"leased": 0,
"running": 0,
"succeeded": 142,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:22:49.300Z",
"waiting": 112,
"leased": 0,
"running": 0,
"succeeded": 144,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:22:51.300Z",
"waiting": 110,
"leased": 0,
"running": 0,
"succeeded": 146,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:22:53.300Z",
"waiting": 108,
"leased": 0,
"running": 0,
"succeeded": 148,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:22:55.300Z",
"waiting": 106,
"leased": 0,
"running": 0,
"succeeded": 150,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:22:57.300Z",
"waiting": 104,
"leased": 0,
"running": 0,
"succeeded": 152,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:22:59.300Z",
"waiting": 102,
"leased": 0,
"running": 0,
"succeeded": 154,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:23:01.300Z",
"waiting": 100,
"leased": 0,
"running": 0,
"succeeded": 156,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:23:03.300Z",
"waiting": 98,
"leased": 0,
"running": 0,
"succeeded": 158,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:23:05.300Z",
"waiting": 96,
"leased": 0,
"running": 0,
"succeeded": 160,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:23:07.300Z",
"waiting": 94,
"leased": 0,
"running": 0,
"succeeded": 162,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:23:09.300Z",
"waiting": 92,
"leased": 0,
"running": 0,
"succeeded": 164,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:23:11.300Z",
"waiting": 89,
"leased": 0,
"running": 0,
"succeeded": 167,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:23:13.300Z",
"waiting": 87,
"leased": 0,
"running": 0,
"succeeded": 169,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:23:15.300Z",
"waiting": 85,
"leased": 0,
"running": 0,
"succeeded": 171,
"occurrences": 256,
"unpaused_schedules": 32
},
{
"at": "2026-09-20T06:23:17.300Z",
"waiting": 83,
"leased": 0,
"running": 0,
"succeeded": 173,
"occurrences": 256,
"unpaused_schedules": 32
}
]
}

View File

@@ -0,0 +1,7 @@
{
"task_count": 256,
"succeeded_count": 173,
"occurrence_count": 256,
"foreign_key_count": 0,
"unpaused_schedules": 0
}

View File

@@ -0,0 +1,48 @@
{
"date_local": "2026-09-20",
"timezone": "Asia/Shanghai",
"source_commit": "2973459",
"declared_go": "1.27.1",
"test_go": "go1.25.14",
"temporary_modfile": true,
"mysql": "8.4.10",
"architecture": "arm64",
"docker_vm_cpus": 12,
"docker_vm_memory_bytes": 12529274880,
"orbit_processes": 1,
"mysql_nodes": 1,
"worker_processes": 1,
"worker_connections": 1,
"worker_capacity_each": 1,
"queue_max_concurrency": 4,
"queue_rate_per_second": 10,
"requests_per_schedule": 8,
"schedules": 32,
"expected_tasks": 256,
"interval_ms": 1000,
"run_timeout_ms": 180000,
"poll_interval_ms": 100,
"metrics_enabled": false,
"dedicated_cpu_memory_limits": false,
"network": "Go runner shares disposable MySQL container network namespace; loopback HTTP/WS/MySQL; no host port",
"fresh_disposable_database": true,
"cleanup": "Test-created container stopped and removed; no existing database used",
"exit_code": 1,
"purpose": "long backlog and persistent row-count curve; intentionally deadline-limited",
"source_sha256": {
"sdk/go/cmd/orbit-schedule-load/handler.go": "560426c5eaaad08cce386b304d0b4673757c1d82978d39557b6a72c8b00f12f8",
"sdk/go/cmd/orbit-schedule-load/main.go": "2378bc59bde8e219618848206f5e4aa3e5158fdb0f419b1b8c286754e5e74136",
"sdk/go/cmd/orbit-schedule-load/measure.go": "93bf30957af66631acc202fb65bab81dab2ea6c40259ad1d619eb47d23935832",
"sdk/go/cmd/orbit-schedule-load/measure_test.go": "bd5cf497c427678edf29d6b48af9e95c410d656470f2c7340de19dc5705e9772",
"sdk/go/cmd/orbit-schedule-load/observe.go": "50d43aa8b4b4690ceac976f3d65135a79fcf17530f5263ff5af5453074ad9e90",
"sdk/go/cmd/orbit-schedule-load/report.go": "5a949c2904c21116d19f219d18a2e81a1153f578d4b2d7907b43bbd522f09b32"
},
"binary_sha256": {
"orbit-schedule-load": "00630c16d74f6c5cd586c8591a87e7328ea742fd04f2979d023e16b1bd90d98b"
},
"artifact_sha256": {
"sample-256-deadline.json": "37d3b22f9ddaca53a7f358155f8ae9299f202d678c87f86db7662da5f59d1bcf",
"database.json": "61d0363bd49f54abbd6f64734633d49df01e85dad5fc120a23e15a346e3efec6",
"curve.json": "c427a1d5df2ddb9adc59513037e9255b51d974f7a448cdb2bdad502bddd2ade5"
}
}

View File

@@ -0,0 +1,621 @@
{
"run_id": "56f38d28ef20520e2543c47ab367d5f3",
"go_version": "go1.25.14",
"goos": "linux",
"goarch": "arm64",
"started_at": "2026-09-20T06:20:18.621418006Z",
"finished_at": "2026-09-20T06:23:18.675191881Z",
"requests_per_schedule": 8,
"schedules": 32,
"expected_occurrences": 256,
"workers": 1,
"capacity_per_worker": 1,
"interval_ms": 1000,
"start_delay_ms": 5000,
"run_timeout_ms": 180000,
"poll_interval_ms": 100,
"http_timeout_ms": 5000,
"queue": {
"max_unfinished_tasks": 100000,
"unfinished_tasks": "0",
"id": "caa6b4fd1906e3bb6e0f70683fa7edf7",
"namespace_id": "b253af75df587d5caa987b6edc1a33a0",
"name": "schedule",
"paused": false,
"max_concurrency": 4,
"rate_per_second": 10,
"revision": "1"
},
"schedule_start": "2026-09-20T06:20:23.625686Z",
"schedule_end": "2026-09-20T06:20:31.625686Z",
"plans": [
{
"calendar_version": "go1.27.1-b2d18a7c8fa8",
"effective_at": "2026-09-20T06:20:18.628761Z",
"index": 0,
"id": "f3a06a96c8b1c4b83e1b7ff86a557557",
"create_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-00-create",
"resume_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-00-resume",
"resume_revision": "1",
"resumed": true,
"exhausted": false,
"pause_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-00-pause-0",
"pause_revision": "6",
"pause_confirmed": true,
"occurrences": 8,
"fired": 8,
"verified_success": 4
},
{
"calendar_version": "go1.27.1-b2d18a7c8fa8",
"effective_at": "2026-09-20T06:20:18.638331Z",
"index": 1,
"id": "426a3f0b73170cb267041e0c63b5f810",
"create_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-01-create",
"resume_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-01-resume",
"resume_revision": "1",
"resumed": true,
"exhausted": false,
"pause_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-01-pause-0",
"pause_revision": "6",
"pause_confirmed": true,
"occurrences": 8,
"fired": 8,
"verified_success": 6
},
{
"calendar_version": "go1.27.1-b2d18a7c8fa8",
"effective_at": "2026-09-20T06:20:18.643577Z",
"index": 2,
"id": "ae86b68dc3c525886b64f782b2b78839",
"create_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-02-create",
"resume_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-02-resume",
"resume_revision": "1",
"resumed": true,
"exhausted": false,
"pause_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-02-pause-0",
"pause_revision": "6",
"pause_confirmed": true,
"occurrences": 8,
"fired": 8,
"verified_success": 5
},
{
"calendar_version": "go1.27.1-b2d18a7c8fa8",
"effective_at": "2026-09-20T06:20:18.648735Z",
"index": 3,
"id": "619574828e9abe000c60c4a6be4178a1",
"create_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-03-create",
"resume_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-03-resume",
"resume_revision": "1",
"resumed": true,
"exhausted": false,
"pause_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-03-pause-0",
"pause_revision": "6",
"pause_confirmed": true,
"occurrences": 8,
"fired": 8,
"verified_success": 6
},
{
"calendar_version": "go1.27.1-b2d18a7c8fa8",
"effective_at": "2026-09-20T06:20:18.65248Z",
"index": 4,
"id": "6620cadb1b5cbf79328f9daf646aa228",
"create_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-04-create",
"resume_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-04-resume",
"resume_revision": "1",
"resumed": true,
"exhausted": false,
"pause_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-04-pause-0",
"pause_revision": "6",
"pause_confirmed": true,
"occurrences": 8,
"fired": 8,
"verified_success": 6
},
{
"calendar_version": "go1.27.1-b2d18a7c8fa8",
"effective_at": "2026-09-20T06:20:18.655747Z",
"index": 5,
"id": "95ce03e8d5f99129f179812efd5e4c96",
"create_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-05-create",
"resume_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-05-resume",
"resume_revision": "1",
"resumed": true,
"exhausted": false,
"pause_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-05-pause-0",
"pause_revision": "6",
"pause_confirmed": true,
"occurrences": 8,
"fired": 8,
"verified_success": 6
},
{
"calendar_version": "go1.27.1-b2d18a7c8fa8",
"effective_at": "2026-09-20T06:20:18.659187Z",
"index": 6,
"id": "8d268232da6917da9e7c9d301bbcc3dc",
"create_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-06-create",
"resume_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-06-resume",
"resume_revision": "1",
"resumed": true,
"exhausted": false,
"pause_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-06-pause-0",
"pause_revision": "6",
"pause_confirmed": true,
"occurrences": 8,
"fired": 8,
"verified_success": 6
},
{
"calendar_version": "go1.27.1-b2d18a7c8fa8",
"effective_at": "2026-09-20T06:20:18.662449Z",
"index": 7,
"id": "4371d18734b87d7cf8fe2ef39dbc4974",
"create_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-07-create",
"resume_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-07-resume",
"resume_revision": "1",
"resumed": true,
"exhausted": false,
"pause_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-07-pause-0",
"pause_revision": "6",
"pause_confirmed": true,
"occurrences": 8,
"fired": 8,
"verified_success": 6
},
{
"calendar_version": "go1.27.1-b2d18a7c8fa8",
"effective_at": "2026-09-20T06:20:18.665955Z",
"index": 8,
"id": "4e3848e36ebf835b0feff704f0343ad3",
"create_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-08-create",
"resume_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-08-resume",
"resume_revision": "1",
"resumed": true,
"exhausted": false,
"pause_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-08-pause-0",
"pause_revision": "6",
"pause_confirmed": true,
"occurrences": 8,
"fired": 8,
"verified_success": 6
},
{
"calendar_version": "go1.27.1-b2d18a7c8fa8",
"effective_at": "2026-09-20T06:20:18.668742Z",
"index": 9,
"id": "53db910f4d9c731c989c236de748d3be",
"create_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-09-create",
"resume_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-09-resume",
"resume_revision": "1",
"resumed": true,
"exhausted": false,
"pause_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-09-pause-0",
"pause_revision": "6",
"pause_confirmed": true,
"occurrences": 8,
"fired": 8,
"verified_success": 6
},
{
"calendar_version": "go1.27.1-b2d18a7c8fa8",
"effective_at": "2026-09-20T06:20:18.672757Z",
"index": 10,
"id": "7048f2fa23f00ae5272bf32f1c7bb799",
"create_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-10-create",
"resume_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-10-resume",
"resume_revision": "1",
"resumed": true,
"exhausted": false,
"pause_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-10-pause-0",
"pause_revision": "6",
"pause_confirmed": true,
"occurrences": 8,
"fired": 8,
"verified_success": 6
},
{
"calendar_version": "go1.27.1-b2d18a7c8fa8",
"effective_at": "2026-09-20T06:20:18.676937Z",
"index": 11,
"id": "d661425892f3ec6975fdd39b385118ac",
"create_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-11-create",
"resume_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-11-resume",
"resume_revision": "1",
"resumed": true,
"exhausted": false,
"pause_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-11-pause-0",
"pause_revision": "6",
"pause_confirmed": true,
"occurrences": 8,
"fired": 8,
"verified_success": 4
},
{
"calendar_version": "go1.27.1-b2d18a7c8fa8",
"effective_at": "2026-09-20T06:20:18.67999Z",
"index": 12,
"id": "163617370b9a430154d45f7c6e714883",
"create_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-12-create",
"resume_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-12-resume",
"resume_revision": "1",
"resumed": true,
"exhausted": false,
"pause_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-12-pause-0",
"pause_revision": "7",
"pause_confirmed": true,
"occurrences": 8,
"fired": 8,
"verified_success": 5
},
{
"calendar_version": "go1.27.1-b2d18a7c8fa8",
"effective_at": "2026-09-20T06:20:18.682823Z",
"index": 13,
"id": "87243a68bd6c16aaeb027d52043e962e",
"create_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-13-create",
"resume_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-13-resume",
"resume_revision": "1",
"resumed": true,
"exhausted": false,
"pause_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-13-pause-0",
"pause_revision": "6",
"pause_confirmed": true,
"occurrences": 8,
"fired": 8,
"verified_success": 6
},
{
"calendar_version": "go1.27.1-b2d18a7c8fa8",
"effective_at": "2026-09-20T06:20:18.685211Z",
"index": 14,
"id": "f70a8c1623f4c2de24f65be9109ef3a0",
"create_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-14-create",
"resume_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-14-resume",
"resume_revision": "1",
"resumed": true,
"exhausted": false,
"pause_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-14-pause-0",
"pause_revision": "6",
"pause_confirmed": true,
"occurrences": 8,
"fired": 8,
"verified_success": 4
},
{
"calendar_version": "go1.27.1-b2d18a7c8fa8",
"effective_at": "2026-09-20T06:20:18.688788Z",
"index": 15,
"id": "34093c08585f34d2384848646783ae0f",
"create_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-15-create",
"resume_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-15-resume",
"resume_revision": "1",
"resumed": true,
"exhausted": false,
"pause_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-15-pause-0",
"pause_revision": "6",
"pause_confirmed": true,
"occurrences": 8,
"fired": 8,
"verified_success": 6
},
{
"calendar_version": "go1.27.1-b2d18a7c8fa8",
"effective_at": "2026-09-20T06:20:18.693017Z",
"index": 16,
"id": "ff25b39e9d697e3ace22dfdc077e9d53",
"create_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-16-create",
"resume_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-16-resume",
"resume_revision": "1",
"resumed": true,
"exhausted": false,
"pause_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-16-pause-0",
"pause_revision": "6",
"pause_confirmed": true,
"occurrences": 8,
"fired": 8,
"verified_success": 4
},
{
"calendar_version": "go1.27.1-b2d18a7c8fa8",
"effective_at": "2026-09-20T06:20:18.695564Z",
"index": 17,
"id": "4de82baaf5d51dd1d65b99f5230e156e",
"create_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-17-create",
"resume_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-17-resume",
"resume_revision": "1",
"resumed": true,
"exhausted": false,
"pause_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-17-pause-0",
"pause_revision": "6",
"pause_confirmed": true,
"occurrences": 8,
"fired": 8,
"verified_success": 6
},
{
"calendar_version": "go1.27.1-b2d18a7c8fa8",
"effective_at": "2026-09-20T06:20:18.697773Z",
"index": 18,
"id": "3f2bceecf0cb5931eeb4f400cb0f139c",
"create_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-18-create",
"resume_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-18-resume",
"resume_revision": "1",
"resumed": true,
"exhausted": false,
"pause_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-18-pause-0",
"pause_revision": "6",
"pause_confirmed": true,
"occurrences": 8,
"fired": 8,
"verified_success": 6
},
{
"calendar_version": "go1.27.1-b2d18a7c8fa8",
"effective_at": "2026-09-20T06:20:18.704364Z",
"index": 19,
"id": "8a741a6c8c310c92ab8330e646e3d2eb",
"create_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-19-create",
"resume_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-19-resume",
"resume_revision": "1",
"resumed": true,
"exhausted": false,
"pause_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-19-pause-0",
"pause_revision": "6",
"pause_confirmed": true,
"occurrences": 8,
"fired": 8,
"verified_success": 6
},
{
"calendar_version": "go1.27.1-b2d18a7c8fa8",
"effective_at": "2026-09-20T06:20:18.707256Z",
"index": 20,
"id": "17a1386e39b5a60f384334a6fc83e2f5",
"create_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-20-create",
"resume_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-20-resume",
"resume_revision": "1",
"resumed": true,
"exhausted": false,
"pause_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-20-pause-0",
"pause_revision": "6",
"pause_confirmed": true,
"occurrences": 8,
"fired": 8,
"verified_success": 5
},
{
"calendar_version": "go1.27.1-b2d18a7c8fa8",
"effective_at": "2026-09-20T06:20:18.710192Z",
"index": 21,
"id": "0072ef6c130843eee6a4d721136e6215",
"create_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-21-create",
"resume_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-21-resume",
"resume_revision": "1",
"resumed": true,
"exhausted": false,
"pause_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-21-pause-0",
"pause_revision": "7",
"pause_confirmed": true,
"occurrences": 8,
"fired": 8,
"verified_success": 5
},
{
"calendar_version": "go1.27.1-b2d18a7c8fa8",
"effective_at": "2026-09-20T06:20:18.712915Z",
"index": 22,
"id": "53c43229bfcd5c504b53ca9479be3e27",
"create_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-22-create",
"resume_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-22-resume",
"resume_revision": "1",
"resumed": true,
"exhausted": false,
"pause_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-22-pause-0",
"pause_revision": "6",
"pause_confirmed": true,
"occurrences": 8,
"fired": 8,
"verified_success": 6
},
{
"calendar_version": "go1.27.1-b2d18a7c8fa8",
"effective_at": "2026-09-20T06:20:18.715124Z",
"index": 23,
"id": "b939cfc754378e087e172b33ecd793e7",
"create_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-23-create",
"resume_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-23-resume",
"resume_revision": "1",
"resumed": true,
"exhausted": false,
"pause_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-23-pause-0",
"pause_revision": "6",
"pause_confirmed": true,
"occurrences": 8,
"fired": 8,
"verified_success": 4
},
{
"calendar_version": "go1.27.1-b2d18a7c8fa8",
"effective_at": "2026-09-20T06:20:18.71859Z",
"index": 24,
"id": "2601b51048bf485ce5b3ff98f339e160",
"create_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-24-create",
"resume_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-24-resume",
"resume_revision": "1",
"resumed": true,
"exhausted": false,
"pause_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-24-pause-0",
"pause_revision": "6",
"pause_confirmed": true,
"occurrences": 8,
"fired": 8,
"verified_success": 6
},
{
"calendar_version": "go1.27.1-b2d18a7c8fa8",
"effective_at": "2026-09-20T06:20:18.72195Z",
"index": 25,
"id": "e18d48db194a1dc3d057302d833d2c59",
"create_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-25-create",
"resume_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-25-resume",
"resume_revision": "1",
"resumed": true,
"exhausted": false,
"pause_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-25-pause-0",
"pause_revision": "6",
"pause_confirmed": true,
"occurrences": 8,
"fired": 8,
"verified_success": 4
},
{
"calendar_version": "go1.27.1-b2d18a7c8fa8",
"effective_at": "2026-09-20T06:20:18.724501Z",
"index": 26,
"id": "6d1a4cf3a509ae831e3a1c4b979d230a",
"create_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-26-create",
"resume_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-26-resume",
"resume_revision": "1",
"resumed": true,
"exhausted": false,
"pause_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-26-pause-0",
"pause_revision": "6",
"pause_confirmed": true,
"occurrences": 8,
"fired": 8,
"verified_success": 6
},
{
"calendar_version": "go1.27.1-b2d18a7c8fa8",
"effective_at": "2026-09-20T06:20:18.727463Z",
"index": 27,
"id": "8775819e5796e0bfe33373bf72733322",
"create_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-27-create",
"resume_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-27-resume",
"resume_revision": "1",
"resumed": true,
"exhausted": false,
"pause_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-27-pause-0",
"pause_revision": "6",
"pause_confirmed": true,
"occurrences": 8,
"fired": 8,
"verified_success": 6
},
{
"calendar_version": "go1.27.1-b2d18a7c8fa8",
"effective_at": "2026-09-20T06:20:18.731147Z",
"index": 28,
"id": "047a0b412a5c6f4d765955c2ca3c4f83",
"create_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-28-create",
"resume_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-28-resume",
"resume_revision": "1",
"resumed": true,
"exhausted": false,
"pause_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-28-pause-0",
"pause_revision": "7",
"pause_confirmed": true,
"occurrences": 8,
"fired": 8,
"verified_success": 5
},
{
"calendar_version": "go1.27.1-b2d18a7c8fa8",
"effective_at": "2026-09-20T06:20:18.733403Z",
"index": 29,
"id": "35c34505cb1af9aaac576e672e1c522d",
"create_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-29-create",
"resume_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-29-resume",
"resume_revision": "1",
"resumed": true,
"exhausted": false,
"pause_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-29-pause-0",
"pause_revision": "6",
"pause_confirmed": true,
"occurrences": 8,
"fired": 8,
"verified_success": 6
},
{
"calendar_version": "go1.27.1-b2d18a7c8fa8",
"effective_at": "2026-09-20T06:20:18.736063Z",
"index": 30,
"id": "74a12d0f100a2f688f0c39129f98c7a5",
"create_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-30-create",
"resume_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-30-resume",
"resume_revision": "1",
"resumed": true,
"exhausted": false,
"pause_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-30-pause-0",
"pause_revision": "6",
"pause_confirmed": true,
"occurrences": 8,
"fired": 8,
"verified_success": 6
},
{
"calendar_version": "go1.27.1-b2d18a7c8fa8",
"effective_at": "2026-09-20T06:20:18.738395Z",
"index": 31,
"id": "e9bd7ea283990ed3465a45e191eb2838",
"create_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-31-create",
"resume_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-31-resume",
"resume_revision": "1",
"resumed": true,
"exhausted": false,
"pause_key": "schedule-56f38d28ef20520e2543c47ab367d5f3-31-pause-0",
"pause_revision": "6",
"pause_confirmed": true,
"occurrences": 8,
"fired": 8,
"verified_success": 4
}
],
"occurrences": 256,
"fired": 256,
"verified_success": 173,
"unobserved": 0,
"unverified": 83,
"handler_calls": 173,
"duplicate_invocations": 0,
"unconfirmed_invocations": 0,
"worker_started": 173,
"worker_reconnects": 0,
"worker_renewals_confirmed": 0,
"trigger_lag": {
"count": 173,
"p50_ms": 996.392,
"p95_ms": 1112.777,
"p99_ms": 1996.392,
"max_ms": 1999.918
},
"queue_wait": {
"count": 173,
"p50_ms": 85092.808,
"p95_ms": 161050.328,
"p99_ms": 168038.059,
"max_ms": 169030.573
},
"authorized_execution": {
"count": 173,
"p50_ms": 6.571,
"p95_ms": 9.399,
"p99_ms": 12.376,
"max_ms": 17.122
},
"completion": {
"count": 173,
"p50_ms": 86133.906,
"p95_ms": 161134.271,
"p99_ms": 169134.574,
"max_ms": 169137.995
},
"errors": {
"RUN_TIMEOUT": 1,
"VERIFY_TIMEOUT": 1
},
"complete": false
}

View File

@@ -0,0 +1,57 @@
# P6 长期积压与资源曲线样本
日期:2026-09-20。本批验证计划触发在低执行容量下形成**持久化**待执行积压,并连续读取 MySQL 中的任务状态计数。它是单节点、一次性数据库的正确性和趋势样本,不是生产容量、SLA、高可用或百万企业承载结论。
## 场景和结果
在一个隔离命名空间创建 32 个共享起止时间的固定间隔计划,每个计划 8 个触发点,共 256 个任务。使用 1 个 WSS Worker、容量 1;队列只读快照为并发4、每秒授权10。触发全部落库后,Worker 逐步完成任务,工具整体截止 180 秒,故意让积压样本保留未完成分母。
| 指标 | 结果 |
| --- | ---: |
| 预期/观察触发点 | 256 / 256 |
| 预期/生成任务 | 256 / 256 |
| 完成核验成功 | 173 |
| 未核验任务 | 83 |
| 有效本地处理器调用 | 173 |
| 重复调用 | 0 |
| 最大观察等待积压 | 249 |
| 截止时等待积压 | 83 |
| 退出码 | 1(预期的 `RUN_TIMEOUT`) |
| 计划收尾 | 32 个 `pause_confirmed=true` |
| 数据库最终任务/成功任务 | 256 / 173 |
| 触发记录重复任务 | 0 |
| 实际外键 | 0 |
原始工具报告:[sample-256-deadline.json](data/phase-6-backlog/sample-256-deadline.json)。工具把 `expected`、`occurrences`、`fired`、`verified_success`、`unverified` 分开;83 个未核验任务没有被解释成失败、撤销或成功。暂停只阻止新的计划触发,不取消已生成任务,因而最终数据库仍保留待处理任务供后续沿原身份核对。
## 持久化曲线
工具运行期间每 2 秒通过独立数据库连接读取 `pulse_tasks` 状态、触发记录和未暂停计划数量。触发集中完成后,`occurrences` 保持 256;`waiting` 从最高 249 随 Worker 逐步完成下降到截止时 83,`succeeded` 从0增至173。曲线原始点见[curve.json](data/phase-6-backlog/curve.json),最终数据库快照见[database.json](data/phase-6-backlog/database.json)。采样时间仅用于排列趋势,未混入任务阶段延迟统计。
| 采样阶段 | waiting | succeeded | occurrences | unpaused_schedules |
| --- | ---: | ---: | ---: | ---: |
| 触发前 | 0 | 0 | 0 | 0 |
| 触发完成后早期 | 242 | 14 | 256 | 32 |
| 中段 | 180 | 76 | 256 | 32 |
| 后段 | 98 | 158 | 256 | 32 |
| 截止前最后点 | 83 | 173 | 256 | 32 |
本批没有开启指标监听,也没有独占 CPU、内存、磁盘或数据库资源;因此曲线只证明持久状态和收尾行为,不证明资源消耗曲线。后续目标拓扑容量测试需要同时采集数据库连接池、锁等待、CPU、内存、磁盘、复制延迟和队列阶段延迟,并进行多轮稳态与恢复对照。
## 环境与复现
实际工具链 Go 1.25.14 Linux arm64,通过临时 modfile 构建,仓库声明的 Go 1.27.1 未改;一次性 MySQL 8.4.10,Docker VM 12 CPU/12,529,274,880 字节内存,其他容器可能共享资源。服务端、MySQL 和工具共享容器网络命名空间,不发布宿主机端口。源码/二进制/报告哈希和完整参数见[environment.json](data/phase-6-backlog/environment.json)。该二进制来自已提交的 `2973459`,构建后没有修改源码。
在 SDK 目录使用隔离凭据可复现核心命令:
```sh
ORBIT_URL=http://127.0.0.1:$PORT \
ORBIT_CREDENTIALS_FILE=/tmp/schedule-backlog.credentials.json \
./orbit-schedule-load \
-schedules 32 -requests 8 -workers 1 -capacity 1 \
-start-delay 5s -run-timeout 180s -poll-interval 100ms
```
准备阶段必须使用一次性 MySQL、`orbit-migrate up`、隔离队列和 `worker-access`/`schedule-access` 权限;不要把这条命令指向生产队列。命令预期在本样本的速率和容量下以非零退出,并在报告中保留未核验分母。收尾后使用 `orbit-admin verify`,再从独立数据库连接检查任务状态和外键数量。完整启动/清理方式按[定时工具手册](../api/schedule-load.md)和仓库一次性 MySQL 脚本约定执行。
本批没有验证长期运行数小时的存储增长、历史归档、跨节点公平、Worker 重连风暴、MySQL 故障切换、备份恢复或 RPO/RTO;这些仍属于 P6/P7 未完成门槛。

View File

@@ -26,7 +26,7 @@
此前使用容器网络别名运行存储集成时,两组 COMMIT 故障测试曾因自身 `127.0.0.1` 明文连接前置条件被拒绝;本轮已改用共享网络命名空间单独复跑并通过,因此不再把它们列为未验证场景。共享网络命名空间只解决测试进程的 loopback 观察条件,不改变生产部署约束。
当前仍未完成仓库声明 Go 1.27.1 下的无过滤标准全量回归,以及 SDK/服务端跨标签矩阵。上述 Docker Go 1.25 共享网络结果补齐了当前容器环境的进程故障证据,但不替代目标发布环境的工具链、拓扑和版本兼容门禁。
当前仍未完成仓库声明 Go 1.27.1 下的无过滤标准全量回归,以及 SDK/服务端跨标签矩阵;新增长期积压样本见[报告](phase-6-backlog.md),仍未升级为生产容量结论。上述 Docker Go 1.25 共享网络结果补齐了当前容器环境的进程故障证据,但不替代目标发布环境的工具链、拓扑和版本兼容门禁。
历史 macOS arm64 + Go 1.27.1 + loopback MySQL 的完整切点记录见[故障边界报告](phase-6-fault-boundaries.md)。当前 Docker Go 1.25 结果仍不升级为仓库声明 Go 1.27.1 的正式全量结论。