温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Golang定时任务库gocron有哪些优点

发布时间:2021-10-14 15:55:52 来源:亿速云 阅读:673 作者:iii 栏目:编程语言

本篇内容主要讲解“Golang定时任务库gocron有哪些优点”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Golang定时任务库gocron有哪些优点”吧!

TSINGEEE青犀视频内视频平台都已经具备成熟完善的体系,不仅具备稳定可靠的流媒体视频结构化智能分析平台,还有播放器及推流等组件。

Golang定时任务库gocron有哪些优点

在开发EasyDSS、EasyRTC、EasyNVR、EasyCVR等项目时,经常会有定时几分钟或者定时几秒执行一次任务的操作。如果使用Go官方提供的定时器方式,使用起来比较难用,且不方便管理任务。因此使用 github 中开源的定时任务库进行定时任务操作。

gocron 的最开始仓库地址为以下的地址:
https://github.com/jasonlvhit/gocron

目前不少人使用的是该仓库的 gocron,但是 2020 年时,已经联系不上了该仓库的拥有者,因此修改了仓库地址为:
https://github.com/go-co-op/gocron

该仓库修改的 gocron 更方便使用,因此主要介绍该仓库的使用。

func ExampleJob_LastRun() {
   s := gocron.NewScheduler(time.UTC)
   job, _ := s.Every(1).Second().Do(task)
   s.StartAsync()

   fmt.Println("Last run:", job.LastRun())
}

以上代码首先使用 gocron 的 NewScheduler 方法创建一个任务队列,然后就是定时任务的执行。
其中 s.StartAsync() 如果该方法运行,会立刻运行执行一次 task 函数,如果不运行该代码,则会 1s 后才运行一次 task 任务。

该库还提供了其他很好用的方法:

_, _ = s.Every(1).Second().Do(task)
_, _ = s.Every(1).Minute().Do(task)
_, _ = s.Every(1).Month(1).Do(task)
_, _ = s.Every(1).Day().At("10:00").Do(task)
_, _ := s.Every(1).Day().Tuesday().Do(task)
_, _ = s.Every(1).Week().Weekday(time.Monday).Do(task)

每周、每天以及每周的周几、每天的几点该库都提供了对应的方法,非常方便实用。

到此,相信大家对“Golang定时任务库gocron有哪些优点”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI