# timer-task **Repository Path**: tym_hmm/timer-task ## Basic Information - **Project Name**: timer-task - **Description**: 定时任务处理,可指定时间段执行,并添加多个任务 - **Primary Language**: Unknown - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-11-17 - **Last Updated**: 2024-06-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 定时任务库 ### 获取组件库 ```cgo go get -u gitee.com/tym_hmm/timer-task ``` ### 使用方式 1.运行服务 ```cgo 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) ``` ### 其他 1)关闭日志打印 `taskNode.IsDebug(false)`