Documentation
¶
Index ¶
- func CronScheduleWindow(schedule string, nominalAt time.Time) (time.Duration, error)
- func CronTimeWorkID(workflowIdentity, workstationName string, nominalAt time.Time) string
- func DeterministicCronJitter(workflowIdentity, workstationName string, nominalAt time.Time, ...) time.Duration
- func ParseCronExpiryWindow(cron *interfaces.CronConfig, scheduleWindow time.Duration) (time.Duration, error)
- func ParseCronJitter(cron *interfaces.CronConfig) (time.Duration, error)
- func ValidateCronSchedule(schedule string) error
- type CronTimeInput
- type CronTimeMetadata
- type CronTiming
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CronScheduleWindow ¶
CronScheduleWindow returns the duration between a nominal cron fire and the next scheduled fire for the same schedule.
func CronTimeWorkID ¶
CronTimeWorkID returns a stable work item identity for the cron time tick.
func DeterministicCronJitter ¶
func DeterministicCronJitter(workflowIdentity, workstationName string, nominalAt time.Time, maxJitter time.Duration) time.Duration
DeterministicCronJitter returns a stable jitter offset in the inclusive range [0, maxJitter].
func ParseCronExpiryWindow ¶
func ParseCronExpiryWindow(cron *interfaces.CronConfig, scheduleWindow time.Duration) (time.Duration, error)
ParseCronExpiryWindow parses cron.expiry_window as a positive Go duration. When omitted, it defaults to the supplied schedule window.
func ParseCronJitter ¶
func ParseCronJitter(cron *interfaces.CronConfig) (time.Duration, error)
ParseCronJitter parses cron.jitter as a non-negative Go duration and defaults to zero.
func ValidateCronSchedule ¶
ValidateCronSchedule validates a standard 5-field cron schedule through gocron.
Types ¶
type CronTimeInput ¶
type CronTimeInput struct {
WorkflowIdentity string
WorkstationName string
NominalAt time.Time
MaxJitter time.Duration
ExpiryWindow time.Duration
}
CronTimeInput contains the stable inputs used to materialize one cron time tick.
type CronTimeMetadata ¶
type CronTimeMetadata struct {
CronWorkstation string `json:"cron_workstation"`
NominalAt time.Time `json:"nominal_at"`
DueAt time.Time `json:"due_at"`
ExpiresAt time.Time `json:"expires_at"`
Jitter time.Duration `json:"jitter"`
Source string `json:"source"`
}
CronTimeMetadata is the canonical timing metadata attached to an internal time work item.
func BuildCronTimeMetadata ¶
func BuildCronTimeMetadata(input CronTimeInput) (CronTimeMetadata, error)
BuildCronTimeMetadata creates deterministic timing metadata for one cron tick.
func CronTimeWorkRequest ¶
func CronTimeWorkRequest(workflowIdentity string, ws interfaces.FactoryWorkstationConfig, nominalAt time.Time) (interfaces.WorkRequest, CronTimeMetadata, error)
CronTimeWorkRequest creates the canonical internal work request for one cron tick.
func (CronTimeMetadata) Payload ¶
func (m CronTimeMetadata) Payload() ([]byte, error)
Payload returns a compact JSON representation of the time-work metadata.
func (CronTimeMetadata) Tags ¶
func (m CronTimeMetadata) Tags() map[string]string
Tags returns the canonical time-work tags for this metadata.
type CronTiming ¶
CronTiming contains parsed timing values from a cron workstation config.
func ParseCronTiming ¶
func ParseCronTiming(cron *interfaces.CronConfig, nominalAt time.Time) (CronTiming, error)
ParseCronTiming parses the jitter and expiry window for schedule-based cron workstations.