Documentation
¶
Index ¶
- Constants
- Variables
- func ParseTime(layout, t, timezone string) (time.Time, error)
- type ScheduleManager
- func (sm *ScheduleManager) InitCron(timezone string) (*cron.Cron, error)
- func (sm *ScheduleManager) RemoveCronEntry(entityID, timezone 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 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 (Scheduler) ToCronExpression ¶
Click to show internal directories.
Click to hide internal directories.