Golang crontab定时执行任务(github.com/robfig/cron)

先上代码:

package main

import (
    l4g "github.com/alecthomas/log4go"
    "github.com/robfig/cron"
)

func text() {
    l4g.Info("text")
}

func main() {
    c := cron.New()
    c.AddFunc("* * * * * *", func() { text() })
    c.Start()
    select {}
}

执行结果如下:
这里写图片描述

就是这么简单实现了 每个1秒钟自动执行text函数的功能,虽然time.NewTicker(time.Second)也很简单。。

好了,简单介绍一下使用方法。
crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。
它的时间表格式如下:
f1 f2 f3 f4 f5 f6 program
其中 f1 是表示秒,f2表示分钟,f3 表示小时,f4 表示一个月份中的第几日,f5 表示月份,f6表示一个星期中的第几天。program 表示要执行的程式。

在go中,我们使用github.com/robfig/cron包来实现crontab的功能。
首先cron.New()一个实例,然后添加定时任务AddFunc(),他接受两个函数第一个是时间,第二个是函数。我们使用*表示每一秒,每一分…..
上例中 因为传入的是**,所以他就会每一秒钟执行一次text。

其他例子:

(1) */2 * * * * *     每个偶数分执行text
(2) */2 */2 * * * *   每个偶数分 并且是偶数秒执行text
(3) 2,4,6 * * * * *   每分钟的2,4,6这三个秒执行text
(4) 2,4,6 5-6 * * * 1 每周一的5点2,4,6和6点2,4,6秒执行text
(5) @daily            每天一次
(6) @midnight         同上
(7) @every 1m30s      定时1分30秒执行text

效果图如下:

实例(1)

实例(7))

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值