rust 重写 xxl-job 的项目 ratch-job v0.1.5 版本发布,控制台支持鉴权与数据权限管控。

137 天前
 heqingpan

v0.1.5 版本更新内容

项目地址: ratch-job

项目计划

  1. 完成一个包含核心内容,满足大部分用户使用场景的初始正式版本;
  2. 追平 xxl-job admin 现有的功能;
    1. 支持任务管理
    2. 支持按任务执行计划和指定的触发策略调度任务
    3. 支持查看任务执行记录
    4. 支持查看执行器对应的任务执行日志
    5. 控制台支持用户管理、登陆验证与权限控制
  3. 完全兼容 xxl-job 协议前提下增强调度平台功能
    1. 任务失败重试支持配置对应的超时失败、重试次数与重试间隔;( xxl-job 不支持配置重试间隔)
    2. 控制台触发支持指定执行器进行触发;
    3. 调度类型计划支持固定延时调度:上一个任务完成后延时固定秒数后新触发一次任务;
    4. 任务调度失败,通过内置消息监听中心支持配置多种渠道通知;
    5. 支持任务导入、导出
    6. 支持应用数据备份、恢复
    7. 支持 open api 管理 ratch-job 的任务调度;目前核心接口已完成,待增加认证机制与对应的文档;
    8. 支持 DAG 调度
  4. 需要增强协议后增加功能 (需要等上面的内容稳定后才会开始)
    1. 支持自定义分片任务;(目前 xxl-job 只有全量分片任务)
    2. 移除任务平台主动对执行器服务发起请求的网络路由强依赖,需要使用类似 grpc 这类的长链接协议;

性能

环境 任务数 任务调度 tps cpu 使用率(单核占比) 内存(M)
docker 100 100 5.2% 20M
ubuntu 1000 1000 32% 80M
mac m1 2000 2000 18% 90M
ubuntu 5000 5000 107% 270M
ubuntu 10000 10000 220% 810M
2790 次点击
所在节点    程序员
24 条回复
putaozhenhaochi
137 天前
🐮
1103409364
137 天前
🐂
5261
137 天前
需要 rust 新手协助不 哈哈
Gilfoyle26
137 天前
一些建议:
1.README 内容好好捯饬捯饬
2.git commit 尽量使用英文
capric
137 天前
任务和规则持久化用的是什么
capric
137 天前
@capric async-raft-ext 日志复制吗?
heqingpan
136 天前
@5261 欢迎协助😊

可以认领 issue 功能需求,如果自己有什么想优化的点也可以自己提 issue 再实现提 pr 。
heqingpan
136 天前
@Gilfoyle26
感谢建议。
后面 readme 内容会补充调整,增加项目文档后也可以把部分繁琐的内容放到项目文档中。
heqingpan
136 天前
@capric
数据是写在本地的 log 和 snapshot 文件,通过 raft 协议复制到其它集群节点。

可以把它理解为通过 raft 管理的分布式数据库。
cornorj6
136 天前
非常棒,支持楼主。已经用上了,顺便问下 namespace 功能可用吗?没有看到怎么配置它。
capric
136 天前
@heqingpan 不错的,加油,比 xxl-job 持久化到 mysql 好用
niuxuewei
136 天前
Rust 重写一切 +1 :)
heqingpan
136 天前
@cornorj6
namespace 算增强功能,目前暂时还不可用。

namespace 功能启用,需要先解决它和 xxl token 映射的问题。目前有几个可选方案,不过还没有最后确定;方案确定后很快就可支持。
zhangxudong
136 天前
能不能加一个查看查看当前时间点有哪些任务在运行的统计,还有所有任务运行的时间点统计
netme
136 天前
看了 r-nacos , 在期待 xxljob , 果然来了,楼主牛批
heqingpan
136 天前
@capric
@netme
感谢支持鼓励😄
heqingpan
136 天前
@zhangxudong
目前的系统监控页中,有对每个间隔内的任务调度数量统计展示。有最小间隔(默认 15 秒,最小可设置为 5 秒)、分钟间隔、小时间隔三类数据,每类数据可记录展示最近 180 数据,方便查看任务在不同时间的调度水位。
heqingpan
136 天前
如果要查看当前时间的任务调度列表的话,可以从最近调度记录中查看具体数据。

如果还有其它场景的统计数据需要支持,可以在项目中提 issue 详细描述一下,如果是比较通用、常用的功能会考虑支持。
yangg
136 天前
没用过 xxl job ,光看文档看不出怎么使用的。

另外点击 切换语言从 en 到中时,跳转了一个出错页面
heqingpan
136 天前
@yangg
看来目前的 readme 文档对没有使用过 xxl-job 的用户不友好,后面会优化文档增强这部分内容说明。

我刚试了下,首页切换英文会刷新页面,首页路径权限没有被正确设置,所以被跳转到没有权限页面(目前的功能权限使用白名单模式能行)。
其它页面没有这个问题。

这是个小 bug 基本不影响正常使用,下个版本会修复。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1126891

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX