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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值