Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // ErrInvalidInterval - Error message for the valid schedule interval must ne greater than 0 ErrInvalidInterval = errors.New("Interval must be greater than 0") // ErrInvalidStartTime - Error message for the start time is in the past ErrInvalidStartTime = errors.New("Start time is in the past") // ErrInvalidStopTime - Error message for the stop tome is in the past ErrInvalidStopTime = errors.New("Stop time is in the past") // ErrStopBeforeStart - Error message for the stop time cannot occur before start time ErrStopBeforeStart = errors.New("Stop time cannot occur before start time") )
Functions ¶
This section is empty.
Types ¶
type Response ¶
type Response interface { // Contains any errors captured during a schedule.Wait() Error() error // Returns the schedule state State() ScheduleState // Returns any intervals that were missed since the call to Wait() Missed() uint // The time the interval fired LastTime() time.Time }
Response interface defines the behavior of schedule response
type Schedule ¶
type Schedule interface { // Returns the current state of the schedule GetState() ScheduleState // Returns where a schedule is still valid for this point in time. Validate() error // Blocks until time to fire and returns a schedule.Response Wait(time.Time) Response }
Schedule interface
type ScheduleState ¶
type ScheduleState int
ScheduleState int type
const ( // Active - set by the scheduler once a schedule has been validated and is in use in a task Active ScheduleState = iota // Ended - Schedule is ended Ended // Error - Schedule is halted with an error Error )
type SimpleSchedule ¶
SimpleSchedule is a schedule that only implements an endless repeating interval
func NewSimpleSchedule ¶
func NewSimpleSchedule(i time.Duration) *SimpleSchedule
NewSimpleSchedule returns the SimpleSchedule given the time interval
func (*SimpleSchedule) GetState ¶
func (s *SimpleSchedule) GetState() ScheduleState
GetState returns the schedule state
func (*SimpleSchedule) Validate ¶
func (s *SimpleSchedule) Validate() error
Validate returns an error if the interval of schedule is less or equals zero
type SimpleScheduleResponse ¶
type SimpleScheduleResponse struct {
// contains filtered or unexported fields
}
SimpleScheduleResponse a response from SimpleSchedule conforming to ScheduleResponse interface
func (*SimpleScheduleResponse) Error ¶
func (s *SimpleScheduleResponse) Error() error
Error returns last error
func (*SimpleScheduleResponse) LastTime ¶
func (s *SimpleScheduleResponse) LastTime() time.Time
LastTime retruns the last response time
func (*SimpleScheduleResponse) Missed ¶
func (s *SimpleScheduleResponse) Missed() uint
Missed returns any missed intervals
func (*SimpleScheduleResponse) State ¶
func (s *SimpleScheduleResponse) State() ScheduleState
State returns the state of the Schedule
type WindowedSchedule ¶
type WindowedSchedule struct { Interval time.Duration StartTime *time.Time StopTime *time.Time // contains filtered or unexported fields }
WindowedSchedule is a schedule that waits on an interval within a specific time window
func NewWindowedSchedule ¶
NewWindowedSchedule returns an instance of WindowedSchedule given duration, start and stop time
func (*WindowedSchedule) GetState ¶
func (w *WindowedSchedule) GetState() ScheduleState
GetState returns ScheduleState of WindowedSchedule
func (*WindowedSchedule) Validate ¶
func (w *WindowedSchedule) Validate() error
Validate validates the start, stop and duration interval of WindowedSchedule
type WindowedScheduleResponse ¶
type WindowedScheduleResponse struct {
// contains filtered or unexported fields
}
WindowedScheduleResponse is the response from SimpleSchedule conforming to ScheduleResponse interface
func (*WindowedScheduleResponse) Error ¶
func (w *WindowedScheduleResponse) Error() error
Error returns last error
func (*WindowedScheduleResponse) LastTime ¶
func (w *WindowedScheduleResponse) LastTime() time.Time
LastTime returns the last windowed schedule response time
func (*WindowedScheduleResponse) Missed ¶
func (w *WindowedScheduleResponse) Missed() uint
Missed returns any missed intervals
func (*WindowedScheduleResponse) State ¶
func (w *WindowedScheduleResponse) State() ScheduleState
State returns the state of the Schedule