Documentation
¶
Index ¶
- type CacheConfig
- type ScheduleCache
- func (c *ScheduleCache) GetJob(ctx context.Context, jobID string) (*types.Job, uint64, error)
- func (c *ScheduleCache) InvalidateJob(jobID string)
- func (c *ScheduleCache) InvalidateSchedules()
- func (c *ScheduleCache) ListDueSchedules(ctx context.Context, cutoff time.Time) ([]*types.ScheduleEntry, error)
- type ScheduleStore
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CacheConfig ¶
type CacheConfig struct {
ScheduleTTL time.Duration // default 300ms
JobTTL time.Duration // default 5s
MaxJobCache int // default 1000
}
CacheConfig configures cache TTLs and sizes.
func DefaultCacheConfig ¶
func DefaultCacheConfig() CacheConfig
DefaultCacheConfig returns sensible defaults.
type ScheduleCache ¶
type ScheduleCache struct {
// contains filtered or unexported fields
}
ScheduleCache wraps ListDueSchedules and GetJob with short-TTL in-memory caching. Safe for concurrent use. Designed for single-scheduler-per-process scenarios.
func NewScheduleCache ¶
func NewScheduleCache(store ScheduleStore, cfg CacheConfig) *ScheduleCache
NewScheduleCache creates a cache wrapping the given store.
func (*ScheduleCache) InvalidateJob ¶
func (c *ScheduleCache) InvalidateJob(jobID string)
InvalidateJob removes a specific job from the job cache.
func (*ScheduleCache) InvalidateSchedules ¶
func (c *ScheduleCache) InvalidateSchedules()
InvalidateSchedules clears the due-schedule cache.
func (*ScheduleCache) ListDueSchedules ¶
func (c *ScheduleCache) ListDueSchedules(ctx context.Context, cutoff time.Time) ([]*types.ScheduleEntry, error)
ListDueSchedules returns cached results if TTL has not expired, otherwise fetches from the underlying store.
Click to show internal directories.
Click to hide internal directories.