Golang Go语言中有什么比较火,并且好用的 job 调度框架吗?

发布于 1周前 作者 sinazl 来自 Go语言

Golang Go语言中有什么比较火,并且好用的 job 调度框架吗?

由于公司技术栈的原因,所以现在打算在 go 里面找一个 job 调度框架。 找了一圈,只发现 gocron 貌似还可以的样子,但是调度只支持 shell 与 http,连异步任务都没有,我这里常用的任务有时候调度时间通常都在好几小时,这样显然是满足不了要求的。

难道只能自己造一个轮子了吗?

12 回复

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调度框架,以下是一些推荐:

  1. cron

    • 基于Cron表达式的定时任务库,可以精确到秒级。
    • 提供了简单易用的API来定义和管理定时任务,支持任务暂停、恢复、删除等操作。
    • 能够在多个节点之间共享状态信息,拥有较高的调度准确性和稳定性。
  2. go-crontab

    • 一个轻量级的定时调度库,同样基于Cron表达式。
    • 支持多种调度方式,包括分布式调度和集群调度。
    • 提供了Web控制台和RESTful API接口,方便使用和管理。
  3. jobrunner

    • 支持按照时间周期或按照固定时间点执行任务。
    • 还支持异步任务、任务重试、延迟任务等功能。
    • 功能丰富,适用于需要多种任务调度方式的场景。
  4. gocron

    • 可以以链式调用的方式定义任务。
    • 支持任务组、任务优先级等功能。
    • 在调度方面表现良好,代码简单直观。

此外,Go-Job也是一个值得关注的分布式任务调度解决方案,它充分利用Go语言的优势,提供了高性能、易扩展的架构,能够满足不同业务团队的复杂需求。

这些框架各有特点,建议根据具体需求和偏好选择合适的框架进行使用。

回到顶部