# 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)`