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()")
}