go完成一个定时任务

这篇博客介绍了一个使用Go语言和`robfig/cron`库创建自定义定时任务的方法。作者通过`NewCrond`函数添加了两个定时任务,分别调用`one`和`two`函数,并使用`cron`解析器精确到秒来设置调度。示例展示了如何启动和管理这些定时任务。
摘要由CSDN通过智能技术生成

go实现一个定时任务

#小白一枚,有时候发现机器定时任务不生效,就想着自己实现一下
package main

import (

	"github.com/robfig/cron"
	"fmt"
)

func NewCrond(param string,f func()) {

	var num int = 0;
	crond := newWithSeconds()
	crond.AddFunc(param,func(){
		num++
		f()
	})
	crond.Start()
	select {}
}

func newWithSeconds() *cron.Cron {

	secondParser := cron.NewParser(cron.Second|cron.Minute|cron.Hour|cron.Dom|cron.Month|cron.DowOptional|cron.Descriptor)
	return cron.New(cron.WithParser(secondParser),cron.WithChain())
}

//第一个函数
func one() {
	fmt.Println("第一个定时任务!")
}
//第二个函数
func two() {

	fmt.Println("第二个定时任务!")
}

func main() {
    //表达式从左至右依次为秒,分,时,日,月,周
	var o string = "30 18 10 * * ?"
	var t string = "00 18 10 * * ?"

	go func() {
		NewCrond(o, one)
	}()
	go func() {
		NewCrond(t, two)
	}()
	select {}
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值