Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrJobAlreadyExists = errors.New("job already exists")
ErrJobAlreadyExists is returned when the scheduler is asked to create a job that already exists.
var ErrNoJobFunc = errors.New("no job function")
ErrNoJobFunc is returned when an attempt is made to to run a nil job.
var ErrNoJobName = errors.New("no job name")
ErrNoJobName is returned when an attempt is made to to control a job without a name.
var ErrNoMoreInstances = errors.New("no more instances")
ErrNoMoreInstances is returned by the runtime generator when it has no more instances.
var ErrNoRuntimeFunc = errors.New("no runtime function")
ErrNoRuntimeFunc is returned when an attempt is made to to run a periodic job without a runtime function.
var ErrNoSuchJob = errors.New("no such job")
ErrNoSuchJob is returned when the scheduler is asked to act upon a job about which it has no information.
Functions ¶
This section is empty.
Types ¶
type RuntimeFunc ¶
RuntimeFunc is the type of a function that generates the next runtime.
type Service ¶
type Service interface { // ScheduleJob schedules a one-off job for a given time. // This function returns two cancel funcs. If the first is triggered the job will not run. If the second is triggered the job // runs immediately. // Note that if the parent context is cancelled the job wil not run. ScheduleJob(ctx context.Context, name string, runtime time.Time, job JobFunc, data interface{}) error // SchedulePeriodicJob schedules a job to run in a loop. SchedulePeriodicJob(ctx context.Context, name string, runtime RuntimeFunc, runtineData interface{}, job JobFunc, jobData interface{}) error // CancelJob cancels a known job. // If this is a period job then all future instances are cancelled. CancelJob(ctx context.Context, name string) error // CancelJobs cancels all jobs with the given prefix. // If the prefix matches a period job then all future instances are cancelled. CancelJobs(ctx context.Context, prefix string) error // RunJob runs a known job. // If this is a period job then the next instance will be scheduled. RunJob(ctx context.Context, name string) error // JobExists returns true if a job exists. JobExists(ctx context.Context, name string) bool // RunJobIfExists runs a job if it exists. // This does not return an error if the job does not exist. // If this is a period job then the next instance will be scheduled. RunJobIfExists(ctx context.Context, name string) error }
Service is the interface for schedulers.