大部分人使用的可能都是github.com/robfig/写的cron模块,但是这个模块里只有动态添加任务,却没有动态删除任务的func, 所以经过一番查找,发现了一个比较好的cron模块:https://github.com/jakecoffman/cron
这个模块虽然fork的人比较少但是个人认为还是不错的,他基本是robfig写的cron的改良,把任务的结构体里增加了name string字段,这就让所有任务都有了一个唯一标示,借助他的RemoveJob function可以轻松根据唯一标示动态删除计划任务。
废话少说直接上实例:
package main import( "github.com/jakecoffman/cron" "time" "niehaha" )
func main() { c:= cron.New() c.Start() //启动cron c.AddFunc("0 * * * * *",func(){fmt.Println("niehaha"))},"IAmUniqueName")//增加一个计划任务,其中 spec->“0 * * * * *” 如同linux的crontab一样 分别对应“秒 分 时 日 月 周” for{ time.Sleep(120*time.Second) } }
《本文》有 3204 条评论