文章目录

前言

以后所有版本发布新功能都在本页面

hera2.3版本

  • 任务新增重复运行字

如果要已经在使用hera调度并且数据库中 ​​hera_job​​​ 表无 ​​repeat_run​​ 字段,请先在数据库中执行以下语句,添加字段

alter table hera_job add column repeat_run tinyint(2) default 0 COMMENT '是否允许任务重复执行';

此时在编辑任务的时候可以通过选择是/否来决定任务是否允许重复跑

赫拉(hera)分布式任务调度系统之版本发布功能页面_hera2.1-beta

  • 新增​​wait​​ 状态 (服务降级状态)

​wait​​​ 状态既不是成功也不是失败。该状态可以通过退出码 ​​38​​​ 来指定。​​wait​​ 状态可以理解为当前任务的执行条件没有达到,放弃本次执行,等待下次调度。并且下游任务也不会被调度

假如我们现在有个需求,在下午16点高峰期进行服务降级,不执行某些任务,也不让下游的任务执行。此时我们就可以通过指定退出码为 ​​38​​​ 来达到本次调度任务降级的目的。​​Shell​​ 脚本内容为

赫拉(hera)分布式任务调度系统之版本发布功能页面_hera2.1-beta_02

执行任务后,结果为 ​

​wait​

​ 状态


赫拉(hera)分布式任务调度系统之版本发布功能页面_hera 调度_03


并且此时下游任务也未执行。

  • 开发中心添加任务时需要选择执行机器组
  • 增加容错策略(​​快速失败​​ ​​失败重试​​)
  • 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版本

  • 任务编辑时支持修改任务类型
  • 赫拉(hera)分布式任务调度系统之版本发布功能页面_分布式任务调度系统_04

  • 任务组添加管理员​​bug​​ 修复

之前为任务组添加管理员时无反应,后端解析问题 已修复

  • 修复​​centos7​​​ 机器组监控不显示的​​bug​

兼容 ​​centos7​​ 机器组监控

  • 对于只有一台work时,降低任务的分发频率,尽量避免crash

在任务量较大而机器渣且少的情况下,程序容易被 ​​crash​​​。这次调整了任务多次分发到同一台 ​​work​​ 时的频率。

  • 修复任务重试时​​hostGroupId​​ 为空
  • 新增一键开启/关闭上游所有任务的接口

有时候可能需要把关闭的任务再开启,现在只留了接口,供以后提供页面支持。内部实现没有采用直接修改数据库内容,还是走的 ​​http​​​ 开启接口,发现异常时修改任务 ​​Id​​ 根据提示再次请求该接口即可。

http://localhost:8080/hera/scheduleCenter/switchAll?jobId=1179&type=0&auto=1

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​

发现在不同时区日志时间总是以当前浏览器地域为准,已修复