cron
是 Go 语言中一个非常流行的定时任务库,提供了一种类似于 Linux 系统 cron
定时任务的方式来定期执行任务。它允许开发者设定特定的时间规则(如每小时、每天、每周等)来自动执行代码。cron
库为 Go 提供了定时调度的功能,广泛应用于任务自动化、定时报告生成、周期性数据抓取等场景。
项目地址:https://github.com/robfig/cron
cron
库允许在 Go 应用中设定周期性任务,任务按照指定的时间表自动触发和执行。cron
表达式,可以方便地设置任务执行的时间和频率(如每分钟、每小时、每天等)。创建一个 cron
调度器,并启动它:
goimport (
"fmt"
"github.com/robfig/cron/v3"
)
func main() {
c := cron.New() // 创建一个新的调度器
c.Start() // 启动调度器
}
使用 AddFunc
方法向调度器中添加定时任务
goc.AddFunc("@hourly", func() {
fmt.Println("每小时执行一次的任务")
})
c.AddFunc("@daily", func() {
fmt.Println("每天执行一次的任务")
})
cron
库支持标准的 Cron 表达式,可以指定复杂的时间规则。下面是一个每分钟执行一次的任务
goc.AddFunc("* * * * *", func() {
fmt.Println("每分钟执行一次的任务")
})
相关信息
表达式的格式是:分 时 日 月 星期
,其中:*
表示任意值,例如:"0 12 * * *"
表示每天中午12点执行一次任务。
通过返回的 ID 来管理任务,比如删除任务或暂停任务:
goid, err := c.AddFunc("@every 5s", func() {
fmt.Println("每 5 秒执行一次")
})
// 删除指定 ID 的任务
c.Remove(id)
本文作者:蒋固金
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!