基于Go實現的定時調度器:gosler
基于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("調度關閉") }
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!