feat: add durable Worker execution and WSS server

This commit is contained in:
2026-09-17 08:22:24 +08:00
parent 9701b7a071
commit cd0dc7011b
31 changed files with 3007 additions and 16 deletions

View File

@@ -6,7 +6,7 @@
- `model/`:ID、摘要、JSON、命名空间记录等公共原语。
- `platform/model/`:应用、命名空间、凭据、幂等、事件、订阅交付及审计。
- `pulse/model/`:队列、执行门控、会话、任务、尝试、回执、并发许可和调度计划。
- `pulse/model/`:队列、执行门控、进程/会话、任务、尝试、回执、迟到证据、并发许可和调度计划。
- `weave/model/`:定义及不可变版本、实例、步骤激活、等待、信号、查询轮次与恢复记录。
- `internal/storage/mysql/`:连接、事务与显式迁移,不向 SDK 暴露。
- `sdk/go/`:独立 Go module;对外 DTO 与服务端模型分别维护。
@@ -34,7 +34,7 @@
## 3. 实体清单
下表与初始迁移中的 30 个实体一致;迁移自身另有 `orbit_schema_migrations` 记录。
当前共 32 个实体:初始迁移包含 30 个,000003 增加进程会话头和迟到证据。迁移自身另有 `orbit_schema_migrations` 记录。
| 模块 | Go 模型 | 数据表 |
| --- | --- | --- |
@@ -49,9 +49,11 @@
| pulse | `Queue` | `pulse_queues` |
| pulse | `ExecutionGate` | `pulse_execution_gates` |
| pulse | `WorkerSession` | `pulse_worker_sessions` |
| pulse | `WorkerInstance` | `pulse_worker_instances` |
| pulse | `Task` | `pulse_tasks` |
| pulse | `Attempt` | `pulse_attempts` |
| pulse | `AttemptReceipt` | `pulse_attempt_receipts` |
| pulse | `AttemptEvidence` | `pulse_attempt_evidence` |
| pulse | `ConcurrencyLimit` | `pulse_concurrency_limits` |
| pulse | `Permit` | `pulse_permits` |
| pulse | `Schedule` | `pulse_schedules` |
@@ -86,6 +88,8 @@
外键与 `CHECK` 无法代替执行引擎。P1 已完成 HTTP 动作/队列授权、幂等摘要与原回执、受理事件,以及待执行取消的 CAS/审计事务。执行相关的以下条件继续分阶段实现:
P2 服务端已新增会话隔离、两步派发、租约、并发许可、结果回执/证据和恢复扫描,见 [执行协议](api/worker.md) 与 [阶段记录](reports/phase-2-server.md)。Worker SDK 和完整 P2 验收仍在推进。
1. 权限验证、凭据校验、命名空间过滤和队列消费授权。
2. 同一次事务更新任务、尝试、租约、并发许可、事件与流程交付记录。
3. CAS 竞争、数据库时间校验、门控与开始授权串行化。