feat: add durable schedule management and multi-node crash recovery

This commit is contained in:
2026-09-17 16:28:58 +08:00
parent d65cf96ea7
commit 6805506450
43 changed files with 2952 additions and 29 deletions

View File

@@ -27,8 +27,12 @@ type ScheduleVersion struct {
MisfirePolicy string `db:"misfire_policy"`
// OverlapPolicy 上次未完成时的策略:并行、串行或跳过。
OverlapPolicy string `db:"overlap_policy"`
// CatchupLimit 单次漏跑补偿上限;补跑策略必须配置正数。
// CatchupLimit 每批生成任务数量上限,所有策略均要求 1–100。
CatchupLimit uint32 `db:"catchup_limit"`
// CatchupWindowMS 未处理触发点最多保留的毫秒数,过旧范围记录跳过。
CatchupWindowMS uint64 `db:"catchup_window_ms"`
// GraceMS 正常派发允许延迟的毫秒数,超出后按漏跑策略处理。
GraceMS uint64 `db:"grace_ms"`
}
func (ScheduleVersion) TableName() string { return "pulse_schedule_versions" }