建立无状态 worker reconcile 边界
This commit is contained in:
@@ -35,8 +35,12 @@ dynamic-runner scheduler
|
||||
OpenBao 等资源服务继续是唯一授权决策点。
|
||||
- scheduler 的 runner registration credential 不进入 executor;executor 只得到执行
|
||||
当前 task 所需的短期 lease/capability。
|
||||
- task ACK、心跳和结果必须能够跨 scheduler 重启恢复;NATS 可以继续作为内部 handoff,
|
||||
但不是 Gitea 任务事实来源。
|
||||
- JetStream 只持久化和投递 assignment,不保存 executor 生命周期状态。Pod labels/annotations
|
||||
与 OpenSandbox metadata 是后端运行状态的权威来源,Gitea 是 task 终态的权威来源。
|
||||
- worker 按稳定 assignment ID reconcile 后端资源,进程内只保留并发控制等可丢弃状态;
|
||||
不新增数据库,也不依赖内存中的 runner-to-executor 映射。
|
||||
- 结果处理顺序固定为回报 Gitea、清理后端、ACK assignment;重投时先查询 Gitea 终态,
|
||||
从而关闭后端已删除但消息尚未 ACK 的崩溃窗口。
|
||||
- Pod 与 VM 共享 task/executor 协议,只有环境创建和销毁实现不同。
|
||||
|
||||
## 实现顺序
|
||||
|
||||
Reference in New Issue
Block a user