最小化无外部依赖的调度开源库,非常值得学习

共 617字,需浏览 2分钟

 ·

2022-06-26 15:44

家好,又见面了,我是 GitHub 精选君!

线程调度、任务调度是平常我们写程序经常接触到的概念,但是我们平常使用的一些大型开源项目都自带类似的功能,我们用起来都得心应手,但是,如果要你去自己实现一个任务调度模块,你有信心能够实现出来吗?

今天要推荐的开源项目 go-quartz,是受著名开源项目 quartz 启发,用 Go 语言实现了一个最小化、无外部依赖的任务调度模块。go-quartz 最大的好处就是简单,非常适合用来了解和学习任务调度相关的知识,当然如果你对如何更好的组织一个 Go 项目,go-quartz 也是非常值得学习的。

go-quartz 中核心就三个概念模块,分别是 Scheduler(调度器)、Trigger(触发器)和 Job(任务)。该项目通过接口的形式定义了以上三个模块的行为,其实只要你知道了上述接口,用任何语言也可以实现一个任务调度的模块。

对应的定义如下:

项目中对上述的接口有默认的实现,通过这些实现,可以很容易的去定义一个自己的任务执行系统。比如以下就是一个示例,实现了定时执行脚本命令和访问网站的任务,代码非常的简单。

更多项目详情请查看如下链接。

开源项目地址:https://github.com/reugn/go-quartz

开源项目作者:reugn

开源书籍&资料:点击

点如下卡片后台回复:1与技术极客们一起交流开源项目,一起成长。

浏览 28
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报