文章目录
前言
以后所有版本发布新功能都在本页面
hera2.3版本
- 任务新增重复运行字
如果要已经在使用hera调度并且数据库中
hera_job
表无 repeat_run
字段,请先在数据库中执行以下语句,添加字段
此时在编辑任务的时候可以通过选择是/否来决定任务是否允许重复跑
- 新增
wait
状态 (服务降级状态)
wait
状态既不是成功也不是失败。该状态可以通过退出码 38
来指定。wait
状态可以理解为当前任务的执行条件没有达到,放弃本次执行,等待下次调度。并且下游任务也不会被调度假如我们现在有个需求,在下午16点高峰期进行服务降级,不执行某些任务,也不让下游的任务执行。此时我们就可以通过指定退出码为 38
来达到本次调度任务降级的目的。Shell
脚本内容为执行任务后,结果为
wait
状态
并且此时下游任务也未执行。
- 开发中心添加任务时需要选择执行机器组
- 增加容错策略(
快速失败
失败重试
)
- failfast(快速失败):心跳信息,web请求等
- failback(失败恢复) :任务执行命令,任务完成状态回写等
- 增加预热检测
application.yml
中增加 hera.warmUpCheck
配置,值为 int
类型,单位秒,默认开启预热 10
秒,表示当机器达到一定的条件时(CPU使用达到 60%
,内存使用达到 70%
,最近两次选的 work
为同一台机器)会进行机器预热检测。如果值小于等于 0
表示不进行预热检测。至于为什么要开启,是因为任务从分发到执行需要经历一定的时间,如果在该时间段内分发了大量的任务容易导致 work
应用挂掉。
- 任务手动恢复日期可自定义
之前我们的手动恢复其实对于版本有限制:只能恢复大于昨天(昨天,今天)的任务。现在我们对该配置加了参数:
hera.jobCacheDay
默认值为 2
,即只能恢复最近两天版本的任务,如果你需要恢复更久之前的任务,可以修改该参数。有一点需要注意,如果该参数你配置的很大(并且你每天的版本数量很多,见 hera_action
表),那么将会使用更大的内存,任务成功后的信号广播速度可能会稍微延长,即下游依赖任务的触发时间会稍微延长。
- 任务分发负载均衡
默认轮询,可选:随机(
random
)、轮询(roundrobin
)
hera2.2-beta版本
- 任务编辑时支持修改任务类型
- 任务组添加管理员
bug
修复
之前为任务组添加管理员时无反应,后端解析问题 已修复
- 修复
centos7
机器组监控不显示的bug
兼容
centos7
机器组监控
- 对于只有一台work时,降低任务的分发频率,尽量避免crash
在任务量较大而机器渣且少的情况下,程序容易被
crash
。这次调整了任务多次分发到同一台 work
时的频率。
- 修复任务重试时
hostGroupId
为空 - 新增一键开启/关闭上游所有任务的接口
有时候可能需要把关闭的任务再开启,现在只留了接口,供以后提供页面支持。内部实现没有采用直接修改数据库内容,还是走的
http
开启接口,发现异常时修改任务 Id
根据提示再次请求该接口即可。
1
jobId
: 要处理的的任务
2 type
:要处理该任务的上游任务 还是下游任务 0:
上游 1:
下游
3 auto
: 要把上游/下游 任务处理为哪种 状态 0:
关闭 1:
开启 2:
失效
- 修复任务异常退出时,退出码为0的情况
任务被
Kill
掉时,偶尔出现任务仍然执行成功的 bug
,已修复
- 修复脚本改变后,任务在未全量生成版本时,而执行脚本内容还是老脚本的情况
- work断线时向
hera.admin
用户发送邮件
当work断线时,向
hera.admin
用户发送邮件,用户名默认 hera
请查看application.yml
配置中 hera.admin
参数。邮件可以在 hera_user
表中添加。暂不支持页面修改
- 查看日志时日志分页按钮禁用
- 任务增加失效按钮
对于哪些可能还会被开启的任务可以进行关闭操作,而彻底不需要的任务点击失效。便于后续管理员对任务进行清理
- 支持任务列表中直接鼠标拖动任务/组进行移动
在调度中心/开发中心,任务/组均支持鼠标拖动进行组间的移动。移动后执行权限并未改变
- 修复在不同时区日志展示展示时间不准的
bug
发现在不同时区日志时间总是以当前浏览器地域为准,已修复