Golang Go语言中有什么比较火,并且好用的 job 调度框架吗?
Golang Go语言中有什么比较火,并且好用的 job 调度框架吗?
由于公司技术栈的原因,所以现在打算在 go 里面找一个 job 调度框架。 找了一圈,只发现 gocron 貌似还可以的样子,但是调度只支持 shell 与 http,连异步任务都没有,我这里常用的任务有时候调度时间通常都在好几小时,这样显然是满足不了要求的。
难道只能自己造一个轮子了吗?
robfig/cron
更多关于Golang Go语言中有什么比较火,并且好用的 job 调度框架吗?的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
爬虫的话,可以考虑 crawlab,不过不仅限于爬虫,其实啥任务都可以
https://github.com/crawlab-team/crawlab
借花敬佛 jobrunner
v 站的一个哥们(忘记名字了)写的 Crocodile 还不错啊
大哥,cron-jobs 只能进行简单的任务调度,涉及到监控,父子任务之类的,需要自己写很多处理
robfig/cron 可以用来做定时任务调度,功能太简单了
GO-XXL-JOB
用 k8s 的话可以考虑一下 Argo
在Golang(Go语言)中,确实存在多个比较火且好用的job调度框架,以下是一些推荐:
-
cron:
- 基于Cron表达式的定时任务库,可以精确到秒级。
- 提供了简单易用的API来定义和管理定时任务,支持任务暂停、恢复、删除等操作。
- 能够在多个节点之间共享状态信息,拥有较高的调度准确性和稳定性。
-
go-crontab:
- 一个轻量级的定时调度库,同样基于Cron表达式。
- 支持多种调度方式,包括分布式调度和集群调度。
- 提供了Web控制台和RESTful API接口,方便使用和管理。
-
jobrunner:
- 支持按照时间周期或按照固定时间点执行任务。
- 还支持异步任务、任务重试、延迟任务等功能。
- 功能丰富,适用于需要多种任务调度方式的场景。
-
gocron:
- 可以以链式调用的方式定义任务。
- 支持任务组、任务优先级等功能。
- 在调度方面表现良好,代码简单直观。
此外,Go-Job也是一个值得关注的分布式任务调度解决方案,它充分利用Go语言的优势,提供了高性能、易扩展的架构,能够满足不同业务团队的复杂需求。
这些框架各有特点,建议根据具体需求和偏好选择合适的框架进行使用。