v0.1.5 版本更新内容

新增:增加缓存功能以支持用户鉴权信息缓存;
新增:控制台增加用户管理功能模块;支持用户基本数据管理,支持功能权限、应用数据权限管理;
新增:控制台开启登陆鉴权;
新增:控制台支持功能权限;管理员:拥有所有功能权限,开发者拥有除了用户管理外的功能权限;访客只拥有查询权限;
新增:控制台支持数据权限;用户只能查询到其有权限的应用、任务数据;用户只能操作其有权限的应用、任务数据。
优化:控制台应用(执行器)支持实例注册类型设置为手动录入,可手动指定执行器列表。
修复:修复应用模块 raft snapshot 时指定表名不正确的问题。

项目地址: ratch-job
项目计划

完成一个包含核心内容,满足大部分用户使用场景的初始正式版本;

追平 xxl-job admin 现有的功能;
支持任务管理
支持按任务执行计划和指定的触发策略调度任务
支持查看任务执行记录
支持查看执行器对应的任务执行日志
控制台支持用户管理、登陆验证与权限控制

完全兼容 xxl-job 协议前提下增强调度平台功能
任务失败重试支持配置对应的超时失败、重试次数与重试间隔;( xxl-job 不支持配置重试间隔)
控制台触发支持指定执行器进行触发;
调度类型计划支持固定延时调度:上一个任务完成后延时固定秒数后新触发一次任务;
任务调度失败,通过内置消息监听中心支持配置多种渠道通知;
支持任务导入、导出
支持应用数据备份、恢复
支持 open api 管理 ratch-job 的任务调度;目前核心接口已完成,待增加认证机制与对应的文档;
支持 DAG 调度

需要增强协议后增加功能 (需要等上面的内容稳定后才会开始)
支持自定义分片任务;(目前 xxl-job 只有全量分片任务)
移除任务平台主动对执行器服务发起请求的网络路由强依赖,需要使用类似 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

🐮

🐂

需要 rust 新手协助不 哈哈

一些建议:
1.README 内容好好捯饬捯饬
2.git commit 尽量使用英文

任务和规则持久化用的是什么

async-raft-ext 日志复制吗?

欢迎协助😊

可以认领 issue 功能需求,如果自己有什么想优化的点也可以自己提 issue 再实现提 pr 。

感谢建议。
后面 readme 内容会补充调整,增加项目文档后也可以把部分繁琐的内容放到项目文档中。

数据是写在本地的 log 和 snapshot 文件,通过 raft 协议复制到其它集群节点。

可以把它理解为通过 raft 管理的分布式数据库。

非常棒,支持楼主。已经用上了,顺便问下 namespace 功能可用吗?没有看到怎么配置它。

不错的,加油,比 xxl-job 持久化到 mysql 好用

Rust 重写一切 +1 :)

namespace 算增强功能,目前暂时还不可用。

namespace 功能启用,需要先解决它和 xxl token 映射的问题。目前有几个可选方案,不过还没有最后确定;方案确定后很快就可支持。

能不能加一个查看查看当前时间点有哪些任务在运行的统计,还有所有任务运行的时间点统计

看了 r-nacos , 在期待 xxljob , 果然来了,楼主牛批

感谢支持鼓励😄

目前的系统监控页中,有对每个间隔内的任务调度数量统计展示。有最小间隔(默认 15 秒,最小可设置为 5 秒)、分钟间隔、小时间隔三类数据,每类数据可记录展示最近 180 数据,方便查看任务在不同时间的调度水位。

如果要查看当前时间的任务调度列表的话,可以从最近调度记录中查看具体数据。

如果还有其它场景的统计数据需要支持,可以在项目中提 issue 详细描述一下,如果是比较通用、常用的功能会考虑支持。

没用过 xxl job ,光看文档看不出怎么使用的。

另外点击 切换语言从 en 到中时,跳转了一个出错页面

看来目前的 readme 文档对没有使用过 xxl-job 的用户不友好,后面会优化文档增强这部分内容说明。

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

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