Documentation
¶
Index ¶
- Constants
- Variables
- func ParseTime(layout, t, timezone string) (time.Time, error)
- type Entry
- type ScheduleManager
- func (sm *ScheduleManager) InitCron(timezone string) (*cron.Cron, error)
- func (sm *ScheduleManager) RemoveCronEntry(entityID string)
- func (sm *ScheduleManager) RemoveTimer(entityID string)
- func (sm *ScheduleManager) ScheduleOneTimeTask(task func(), scheduler Scheduler, entityID string) error
- func (sm *ScheduleManager) ScheduleRepeatingTask(task func(), scheduler Scheduler, entityID string) error
- func (sm *ScheduleManager) Stop()
- type Scheduler
- type Week
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 ¶
Types ¶
type Entry ¶ added in v0.44.1
Entry identifies a cron entry together with the time zone of the cron that runs it, because entry IDs are only unique within a single cron.
type ScheduleManager ¶
type ScheduleManager struct {
CronByTZ map[string]*cron.Cron
EntryByID map[string]Entry
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 string)
func (*ScheduleManager) RemoveTimer ¶ added in v0.44.1
func (sm *ScheduleManager) RemoveTimer(entityID 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 (Scheduler) ToCronExpression ¶
Click to show internal directories.
Click to hide internal directories.