Wang's blog Wang's blog
目录

cron库简介

# cron库简介

cronGo包,它提供了一种定时任务的管理。它具有单行检索,点表示法路径,迭代和解析json行等功能。

# 开源库地址

robfig/cron: a cron library for go (github.com) (opens new window)

# 安装

go get github.com/robfig/cron/v3@v3.0.0
1

# cron表达式

 ┌─────────────second 范围 (0 - 60)
 │ ┌───────────── min (0 - 59)
 │ │ ┌────────────── hour (0 - 23)
 │ │ │ ┌─────────────── day of month (1 - 31)
 │ │ │ │ ┌──────────────── month (1 - 12)
 │ │ │ │ │ ┌───────────────── day of week (0 - 6) (0 to 6 are Sunday to
 │ │ │ │ │ │ Saturday)
 │ │ │ │ │ │
 │ │ │ │ │ │
 * * * * * *
1
2
3
4
5
6
7
8
9
10

# 基础示例

package main
import (
	"fmt"
	"github.com/robfig/cron"
)
//主函数
func main() {
	cron2 := cron.New() //创建一个cron实例
	//执行定时任务(每5秒执行一次)
	err:= cron2.AddFunc("*/5 * * * *", print5)
	if err!=nil{
	 fmt.Println(err)
	}
	//启动/关闭
	cron2.Start()
	defer cron2.Stop()
	select {
	 //查询语句,保持程序运行,在这里等同于for{}
	}
}
//执行函数
func print5() {
 fmt.Println("每5s执行一次cron")
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

注意

cron 表达式格式可以自行百度,这里不再赘述。 需要强调的是,cron 默认支持到分钟级别,如果需要支持到秒级别,在初始化 cron 时,记得 cron.WithSeconds() 参数

cron2 := cron.New(
	cron.WithSeconds(), // 添加秒级别支持,默认支持最小粒度为分钟
) //创建一个cron实例
1
2
3
编辑 (opens new window)
Theme by Vdoing | Copyright © 2019-2022 Evan Xu | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式

AltStyle によって変換されたページ (->オリジナル) /