【golang-技巧】- 定时任务 - cron

1.背景

实现

  1. 凌晨生成报表
  2. 定时刷新缓存
  3. 定时监测任务状态
  4. ...

2.实现

cron 表达式 同 java cron 无巨大差别 注意版本 有所不同

golang 复制代码
package main

import (
	"fmt"
	"github.com/robfig/cron/v3"
	"time"
)

func main() {
	c := cron.New()
	c.AddFunc("* * * * *", func() {
		fmt.Println("==== run function 1", time.Now().Format(time.RFC3339))
	})

	c.AddFunc("* * * * *", func() {
		fmt.Println("==== run function 2", time.Now().Format(time.RFC3339))
	})

	c.Start()

	t1 := time.NewTimer(time.Second * 10)

	// 阻塞程序不往下走,测试用
	for {
		select {
		case <-t1.C:
			t1.Reset(time.Second * 10)
		}
	}

}

3.结论

通过cron 实现 定时执行任务

相关推荐
汪洪墩20 分钟前
【Mars3d】设置backgroundImage、map.scene.skyBox、backgroundImage来回切换
开发语言·javascript·python·ecmascript·webgl·cesium
云空25 分钟前
《QT 5.14.1 搭建 opencv 环境全攻略》
开发语言·qt·opencv
Anna。。27 分钟前
Java入门2-idea 第五章:IO流(java.io包中)
java·开发语言·intellij-idea
我曾经是个程序员1 小时前
鸿蒙学习记录
开发语言·前端·javascript
爱上语文1 小时前
宠物管理系统:Dao层
java·开发语言·宠物
小老鼠不吃猫2 小时前
力学笃行(二)Qt 示例程序运行
开发语言·qt
长潇若雪2 小时前
《类和对象:基础原理全解析(上篇)》
开发语言·c++·经验分享·类和对象
数据小小爬虫3 小时前
如何利用Python爬虫获取商品历史价格信息
开发语言·爬虫·python
Gao_xu_sheng3 小时前
Java程序打包成exe,无Java环境也能运行
java·开发语言
NiNg_1_2343 小时前
Python的sklearn中的RandomForestRegressor使用详解
开发语言·python·sklearn