go-schedule is a task scheduling library for Go.
For package documentation, refer to the GoDoc badge above.
go get gopkg.in/zhevron/go-schedule.v0/schedule
package main
import (
"fmt"
"gopkg.in/zhevron/go-schedule.v0/schedule"
)
func MyJob(scheduler *schedule.Scheduler) {
fmt.Println("Running MyJob")
scheduler.Stop()
}
func main() {
scheduler := schedule.NewScheduler()
job := schedule.NewJob("MyJob", MyJob, scheduler);
job.Schedule().Every("15m").From(time.Now())
scheduler.Add(job)
scheduler.Start()
for scheduler.Running() {
switch {
case res := <-scheduler.Results():
fmt.Printf("job %#s returned result: %v\n", res.Name, res.Results)
case err := <-scheduler.Errors():
fmt.Printf("job %#s encountered an error: %s\n", err.Name, err.Error)
}
}
}
go-schedule is licensed under the MIT license.