基于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 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
转载本站原创文章,请注明出处,并保留原始链接、图片水印。
本站是一个以用户分享为主的开源技术平台,欢迎各类分享!