轮询任务
package main
import (
    "time"
    
    "github.com/domgoer/gotask"
)
func main()  {
     tk,_ := gotask.NewTask(time.Second*20,func() {
            // do ... 
     })
     gotask.AddToTaskList(tk)
}
注意
当task的轮询速度快于执行速度时,需要设置合理的结束时间,来防止goroutine的泄露。
动态修改轮询任务的执行时间
package main
import (
    "time"
    
    "github.com/domgoer/gotask"
)
func main()  {
     tk,_ := gotask.NewTask(time.Second*20,func() {
            // do ... 
     })
     gotask.AddToTaskList(tk)
     
     // 修改执行时间,立即生效
     tk.SetInterval(time.Second*30)
}
定时任务
package main
import (
    "github.com/domgoer/gotask"
)
func main()  {
     tkDay,_ := gotask.NewDailyTask("12:20:00",func() {
            // do ... 
     })
     tkMonth,_ := gotask.NewMonthlyTask("20 12:20:00",func() {
             // do ... 
      })
     tkYear,_ := gotask.NewYearlyTask("03-01 12:20:00",func(){})
     gotask.AddToTaskList(tkDay)
     gotask.AddToTaskList(tkMonth)
     gotask.AddToTaskList(tkYear)
}
多任务
package main
import (
    "github.com/domgoer/gotask"
)
func main()  {
     tkDays,_ := gotask.NewDailyTasks([]string{"12:20:00","10:10:10"},func() {
            // do ... 
     })
     tkMonths,_ := gotask.NewMonthlyTasks([]string{"20 12:20:00","21 10:10:10"},func() {
             // do ... 
      })
     gotask.AddToTaskList(tkDays...)
     gotask.AddToTaskList(tkMonths...)
}
暂停
package main
import (
    "github.com/domgoer/gotask"
)
func main()  {
     gotask.Pause("task.ID()")
}
恢复
package main
import (
    "github.com/domgoer/gotask"
)
func main()  {
     gotask.Resume("task.ID()")
}
移除
package main
import (
    "github.com/domgoer/gotask"
)
func main()  {
     gotask.Remove("task.ID()")
}
  