Golang中怎么利用cron创建定时任务
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章给大家介绍Golang中怎么利用cron创建定时任务,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1、cron 表达式的基本格式Go 实现的cron 表达式的基本语法跟l
千家信息网最后更新 2025年12月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安全错误
数据库的锁怎样保障安全
合肥市网络安全产业
刀片式服务器机柜尺寸
石岐定制软件开发
怎么拿到软件数据库
网络安全法对个人信息保护要点
网络安全法的立法目的是指
效果好的网络安全审计
我是网络安全小卫士图片
计算机网络安全怎么防范
时序数据库配置
网络安全法中网络安全事件
枪火游侠服务器断网
b服务器
数据库表的实现过程
服务器客户端管理软件
网络安全得注意什么
数据库王珊第二章答案
bat网络技术
股票软件开发广州
jsp需要web服务器吗
视频监控网络安全运维
深圳电商软件开发费用是多少
南阳网络技术销售价格
一般公司有多少服务器
国家网络安全瓶颈
手机搭建的服务器软件
百度时代网络技术 北京
长春专业的网络安全机构十大品牌
软件开发部定岗定编
网络安全警察的权限