Files
orbit/pulse/model/schedule_version.go

35 lines
1.4 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package model
import (
"time"
core "git.yuntuo.hk/k2safe/orbit/model"
)
// ScheduleVersion 表示已发布的不可变计划版本,记录规则与任务模板。
// 对应表 pulse_schedule_versions;这是服务端持久化模型,不直接作为 API 响应。
type ScheduleVersion struct {
// Record 包含命名空间、记录标识、并发版本和 UTC 时间。
core.Record
// ScheduleID 所属调度计划标识。
ScheduleID core.ID `db:"schedule_id"`
// Version 不可变发布版本;同版本不同内容必须拒绝。
Version uint64 `db:"version"`
// EffectiveAt 该计划版本开始生效的时间。
EffectiveAt time.Time `db:"effective_at"`
// Timezone 计划计算使用的 IANA 时区名称。
Timezone string `db:"timezone"`
// Specification 版本化规则定义 JSON;发布后禁止原地修改。
Specification core.JSON `db:"specification"`
// TaskTemplate 每次触发创建任务时采用的输入与策略模板。
TaskTemplate core.JSON `db:"task_template"`
// MisfirePolicy 漏跑策略:跳过、合并或有界补跑。
MisfirePolicy string `db:"misfire_policy"`
// OverlapPolicy 上次未完成时的策略:并行、串行或跳过。
OverlapPolicy string `db:"overlap_policy"`
// CatchupLimit 单次漏跑补偿上限;补跑策略必须配置正数。
CatchupLimit uint32 `db:"catchup_limit"`
}
func (ScheduleVersion) TableName() string { return "pulse_schedule_versions" }