使用cron创建定时任务【Golang 入门系列八】


本文摘自网络,作者,侵删。

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 main
import (   "github.com/robfig/cron"   "fmt")
func main() {   i := 0   c := cron.New()   spec := "*/5 * * * * ?"   c.AddFunc(spec, func() {      i++      fmt.Println("cron running:", i)   })   c.Start()
  select{}}

 启动后输出如下:

阅读剩余部分

相关阅读 >>

反射三定律

聊聊dubbo-Go-proxy的replacepathfilter

09 Golang sort排序

Go语言实战流媒体视频网站

聊聊dubbo-Go-proxy的parammapper

Golang中关于文件的操作

Go语言指向指针的指针

Go-carbon1.2.4发布了!新增系列时间比较方法

Golang monGodb 的一个小坑

Golang 写个快速排序

更多相关阅读请进入《Go》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...