Golang中怎么利用cron创建定时任务
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章给大家介绍Golang中怎么利用cron创建定时任务,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1、cron 表达式的基本格式Go 实现的cron 表达式的基本语法跟l
千家信息网最后更新 2026年11月02日Golang中怎么利用cron创建定时任务
这篇文章给大家介绍Golang中怎么利用cron创建定时任务,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
1、cron 表达式的基本格式
Go 实现的cron 表达式的基本语法跟linux 中的 crontab基本是类似的。cron(计划任务),就是按照约定的时间,定时的执行特定的任务(job)。
cron 表达式表示一个时间集合,使用 6 个空格分隔的字段表示。每个子表达式都描述了一个单独的日程细节
域 | 是否强制 | 允许值 | 允许特殊字符 |
Seconds | YES | 0-59 | , - * / |
Minutes | YES | 0-59 | , - * / |
Hours | YES | 0-23 | , - * / |
Day of month | YES | 1-31 | , - * ? / L W |
Month | YES | 1-12 or JAN-DEC | , - * / |
Day of week | YES | 1-7 or SUN-SAT | , - * ? / L # |
Year | NO | empty, 1970-2099 | , - * / |
所以,比如一个cron表达式字符串"0 0 10 ? * MON",这表示"每周一的中午10:00"。
如果对cron 表达式不清楚的,可以看看我之前介绍quartz.net 的文章,Quartz.NET总结(二)CronTrigger和Cron表达式 。
2、使用的包
github.com/robfig/cron
3、示例
创建最简单的最简单cron任务
package mainimport ("github.com/robfig/cron""fmt")func main() {i := 0c := cron.New()spec := "*/5 * * * * ?"c.AddFunc(spec, func() {i++fmt.Println("cron running:", i)})c.Start()select{}}
启动后输出如下:
D:\Go_Path\go\src\cronjob>go run singlejob.gocron running: 1cron running: 2cron running: 3cron running: 4cron running: 5
多个定时cron任务
package mainimport ("github.com/robfig/cron""fmt")type TestJob struct {}func (this TestJob)Run() {fmt.Println("testJob1...")}type Test2Job struct {}func (this Test2Job)Run() {fmt.Println("testJob2...")}//启动多个任务func main() {i := 0c := cron.New()//AddFuncspec := "*/5 * * * * ?"c.AddFunc(spec, func() {i++fmt.Println("cron running:", i)})//AddJob方法c.AddJob(spec, TestJob{})c.AddJob(spec, Test2Job{})//启动计划任务c.Start()//关闭着计划任务, 但是不能关闭已经在执行中的任务.defer c.Stop()select{}}
启动后输出如下:
D:\Go_Path\go\src\cronjob>go run multijob.gocron running: 1testJob1...testJob2...testJob1...cron running: 2testJob2...testJob1...testJob2...cron running: 3cron running: 4testJob1...testJob2...
关于Golang中怎么利用cron创建定时任务就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
任务
表达式
内容
多个
字符
文章
时间
更多
帮助
输出
不错
清楚
特殊
个子
允许值
兴趣
字段
字符串
小伙
小伙伴
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
瑰夏咖啡
互联网科技公司经营范围
互联网科技产业
涨乐互联网科技
互联网下的科技发展
互联网最新的科技有限公司
港股互联网科技股
金融科技创新监管互联网金融
平安科技 互联网
四川狮子座互联网科技
互联网公司会议桌创意科技软装饰
科技与互联网的利与弊
南平创想时代互联网科技有限公司
消费医药和互联网科技
呼和浩特新华互联网科技学院
想开互联网科技公司怎么样
沐思想互联网科技有限公司
云南省自由互联网科技有限公司
风投北京互联网科技
恒生科技指数 中概互联网
西安互联网科技
互联网 的科技创新
成都互联网科技公司
天下捷融互联网科技
掌上梦互联网科技
科技类的互联网平台
工业互联网山东科技大学
中国互联网有什么科技
第三届互联网大会安防黑科技
科技互联网企业在行动