我正在使用我当前的项目,我遇到了一些文档中没有的情况。gocron
我测试这个代码:
gocron.Every(3).Seconds().Do(taskWithParams,2,"world")
gocron.Every(2).Seconds().Do(taskWithParams,1, "hello")
gocron.Start()
time.Sleep(10 * time.Second)
gocron.Remove(taskWithParams)//<-- remove task
...
func taskWithParams(a int, b string) {
fmt.Println(a, b)
}
当我删除 task() 时,总是被删除。即使我交换它们:gocron.Remove(taskWithParams)gocron.Every(3).Seconds().Do(taskWithParams,2,"world")
gocron.Every(2).Seconds().Do(taskWithParams,1, "hello")
gocron.Every(3).Seconds().Do(taskWithParams,2,"world")
有没有办法让我具体指出我要删除的任务,因为唯一允许1?remove()argument
该文档还有一个:scheduler
s := gocron.NewScheduler()
s.Every(3).Seconds().Do(task)
<- s.Start()
什么时候是最好的用例?scheduler
如果我们完成了调度程序,如何将其从内存中删除?做工作吗?或者我们必须有另一种方法将它们从记忆中清除?scheduler.Clear()
函数式编程
相关分类