【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 实现 定时执行任务

相关推荐
夏天的阳光吖2 分钟前
C++蓝桥杯基础篇(十一)
开发语言·c++·蓝桥杯
郭涤生5 分钟前
并发操作的同步_第四章_《C++并发编程实战》笔记
开发语言·c++·算法
梦醒沉醉10 分钟前
C++和标准库速成(一)——HelloWorld和名称空间
开发语言·c++
异常驯兽师16 分钟前
《Java三剑客:JDK、JRE、JVM的“塑料友情”》
java·开发语言·jvm
冬冬小圆帽24 分钟前
防抖和节流
开发语言·前端·javascript
不会写代码的码农农27 分钟前
【2025年26期免费获取股票数据API接口】实例演示五种主流语言获取股票行情api接口之沪深A股涨停股池数据获取实例演示及接口API说明文档
java·开发语言·python·股票api·股票数据接口·股票数据
wenbin_java33 分钟前
设计模式之工厂模式:原理、实现与应用
java·开发语言·设计模式
浪九天1 小时前
Java直通车系列28【Spring Boot】(数据访问Spring Data JPA)
java·开发语言·spring boot·后端·spring
D.Leo1 小时前
R语言中byrow参数的作用
开发语言·r语言
dengjiayue1 小时前
golang 高性能的 MySQL 数据导出
开发语言·mysql·golang