golang 定时任务

仓库地址:

timer-task: 定时任务处理

定时任务库

获取组件库

go get -u gitee.com/tym_hmm/timer-task

使用方式

1.运行服务

TimerTask.TaskInstance().Run()

2.添加任务

  1. 定时执行(每间隔多少时间执行)

定案例为每2秒执行一次

#定时执行(每间隔多少时间执行)
#定案例为每2秒执行一次
taskNode := TimerTask.NewInfoNode("testJob")
taskNode.SetHandle(func(name string, infoNode *TimerTask.InfoNode, time string) {
	fmt.Println("任务执行回调" + name + ", time=>" + time)
})
taskNode.SetErrorHandle(func(name string, code int, message string) {
	fmt.Println("任务错误[code:" + strconv.Itoa(code) + ", message:" + message + "]")
})
taskNode.SetExecType(TimerTask.EXEC_TYPE_INTVAL)
taskNode.SetIntervalTime(2000)
TimerTask.TaskInstance().AddJob(taskNode)

2)每天执行

此案例为每天凌晨3:00执行

#每天执行
#此案例为每天凌晨3:00执行
taskNode := TimerTask.NewInfoNode("testJob")
taskNode.SetHandle(func(name string, infoNode *TimerTask.InfoNode, time string) {
    fmt.Println("任务执行回调" + name + ", time=>" + time)
})
taskNode.SetErrorHandle(func(name string, code int, message string) {
	fmt.Println("任务错误[code:" + strconv.Itoa(code) + ", message:" + message + "]")
})
taskNode.SetHour(3)//
TimerTask.TaskInstance().AddJob(taskNode)
_ = kelleyCrawler.CrawlerInstance().AddJob(infoNode)

3)每小时执行

此案例为间隔小时整点执行

当前时间为11:20 下次执行为12:00
当前时间为13:20 下次执行时间为:14:00

#每小时执行
taskNode := TimerTask.NewInfoNode("testJobHour")
taskNode.SetHandle(func(name string, infoNode *TimerTask.InfoNode, time string) {
	fmt.Println("任务执行回调" + name + ", time=>" + time)
})
taskNode.SetErrorHandle(func(name string, code int, message string) {
	fmt.Println("任务错误[code:" + strconv.Itoa(code) + ", message:" + message + "]")
})
taskNode.SetExecType(TimerTask.EXEC_TYPE_HOUR)
taskNode.SetHour(1)
TimerTask.TaskInstance().AddJob(taskNode)

你可能感兴趣的:(golang,开发语言,后端,定时任务)