Versions in this module Expand all Collapse all v1 v1.0.1 Feb 21, 2024 v1.0.0 Feb 21, 2024 Changes in this version + func GetCatchUpTimes(s models.SchedulableEntity, from time.Time, to time.Time) ([]time.Time, error) + func GetScheduledTime(s models.SchedulableEntity, fromTime time.Time) (time.Time, error) + type GoCronJob struct + func (g *GoCronJob) Run(t time.Time) + type GoCronScheduler struct + func (g *GoCronScheduler) AddCronJob(ctx context.Context, job *GoCronJob) error + func (g *GoCronScheduler) AddFixedIntervalJob(ctx context.Context, job *GoCronJob) error + func (g *GoCronScheduler) BootStrapSchedulesFromSnapShot(ctx context.Context, schedules []models.SchedulableEntity, ...) + func (g *GoCronScheduler) CalculateSnapshot(ctx context.Context) snapshoter.Snapshot + func (g *GoCronScheduler) CatchUpSingleSchedule(ctx context.Context, s models.SchedulableEntity, fromTime time.Time, ...) error + func (g *GoCronScheduler) CatchupAll(ctx context.Context, until time.Time) bool + func (g *GoCronScheduler) DeScheduleJob(ctx context.Context, schedule models.SchedulableEntity) + func (g *GoCronScheduler) GetTimedFuncWithSchedule() TimedFuncWithSchedule + func (g *GoCronScheduler) RemoveCronJob(ctx context.Context, job *GoCronJob) + func (g *GoCronScheduler) RemoveFixedIntervalJob(ctx context.Context, job *GoCronJob) + func (g *GoCronScheduler) ScheduleJob(ctx context.Context, schedule models.SchedulableEntity, ...) error + func (g *GoCronScheduler) UpdateSchedules(ctx context.Context, schedules []models.SchedulableEntity) + type Scheduler interface + BootStrapSchedulesFromSnapShot func(ctx context.Context, schedules []models.SchedulableEntity, ...) + CalculateSnapshot func(ctx context.Context) snapshoter.Snapshot + CatchupAll func(ctx context.Context, until time.Time) bool + DeScheduleJob func(ctx context.Context, s models.SchedulableEntity) + ScheduleJob func(ctx context.Context, s models.SchedulableEntity, f TimedFuncWithSchedule, ...) error + UpdateSchedules func(ctx context.Context, s []models.SchedulableEntity) + func NewGoCronScheduler(ctx context.Context, schedules []models.SchedulableEntity, ...) Scheduler + type Snapshotrunner struct + func NewSnapshotRunner(snapshoter sImpl.Persistence, scheduler Scheduler) Snapshotrunner + func (u Snapshotrunner) Run(ctx context.Context) + type TimedFuncWithSchedule func(ctx context.Context, s models.SchedulableEntity, t time.Time) error + type Updater struct + func NewUpdater(db repositoryInterfaces.SchedulerRepoInterface, scheduler Scheduler) Updater + func (u Updater) UpdateGoCronSchedules(ctx context.Context)