基于Go实现的定时调度器:gosler

jopen 9年前

基于Go实现带参的函数的定时调度


具体调用 :

package main  import (      "fmt"      "study/gosler"  )    func task() {      fmt.Println("测试运行....")  }    func taskWithParams(a int, b string) {      fmt.Println(a, b)  }    func main() {      gosler.Every(1).Second().Do(taskWithParams, 1, "hello")        gosler.Every(1).Day().At("18:56").Do(task)        //调度器启动      gosler.Start()  }

并发调用 :

func task() {      fmt.Println("测试运行....")  }    func taskWithParams(a int, b string) {      fmt.Println(a, b)  }    func main() {        otherScheduler := gosler.NewScheduler()      otherScheduler.Every(5).Seconds().Do(taskWithParams, 2, "Hello")      go otherScheduler.Start()        firstScheduler := gosler.NewScheduler()      firstScheduler.Every(1).Seconds().Do(taskWithParams, 1, "Good")      go firstScheduler.Start()        //终止信号      done := make(chan os.Signal, 1)      signal.Notify(done, os.Interrupt, os.Kill)      <-done        firstScheduler.Clear()      otherScheduler.Clear()        fmt.Println("调度关闭")  }

项目主页:http://www.open-open.com/lib/view/home/1441718663633