cron

package
v0.32.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 18, 2025 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TimeLayout     = "15:04"
	DateTimeLayout = "2006-01-02 15:04"
	OnceFreq       = "once"
	WeeklyFreq     = "weekly"
	DailyFreq      = "daily"
	HourlyFreq     = "hourly"
	MinutelyFreq   = "minutely"
)

Variables

View Source
var WeekDays = []string{"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"}

Functions

func ParseTime

func ParseTime(layout, t, timezone string) (time.Time, error)

Types

type ScheduleManager

type ScheduleManager struct {
	CronByTZ  map[string]*cron.Cron
	EntryByID map[string]cron.EntryID
	TimerByID map[string]*time.Timer
	// contains filtered or unexported fields
}

func NewScheduleManager

func NewScheduleManager() *ScheduleManager

func (*ScheduleManager) InitCron

func (sm *ScheduleManager) InitCron(timezone string) (*cron.Cron, error)

func (*ScheduleManager) RemoveCronEntry

func (sm *ScheduleManager) RemoveCronEntry(entityID, timezone string)

func (*ScheduleManager) ScheduleOneTimeTask

func (sm *ScheduleManager) ScheduleOneTimeTask(task func(), scheduler Scheduler, entityID string) error

func (*ScheduleManager) ScheduleRepeatingTask

func (sm *ScheduleManager) ScheduleRepeatingTask(task func(), scheduler Scheduler, entityID string) error

func (*ScheduleManager) Stop

func (sm *ScheduleManager) Stop()

type Scheduler

type Scheduler struct {
	TimeZone  string `json:"time_zone"`
	Frequency string `json:"frequency"`
	DateTime  string `json:"date_time"`
	Week      Week   `json:"week"`
	DayTime   string `json:"day_time"`
	Hour      int    `json:"hour"`
	Minute    int    `json:"minute"`
}

func NormalizeTimezone

func NormalizeTimezone(scheduler Scheduler) Scheduler

func (Scheduler) IsValid

func (s Scheduler) IsValid() bool

func (Scheduler) ToCronExpression

func (s Scheduler) ToCronExpression() (string, error)

type Week

type Week struct {
	Days []string `json:"days"`
	Time string   `json:"time"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL