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

前言

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

往期目录

项目地址:git@gitee.com:dfire/hera.git

赫拉(hera)分布式任务调度系统之架构,基本功能(一)

赫拉(hera)分布式任务调度系统之项目启动(二)

赫拉(hera)分布式任务调度系统之开发中心(三)

赫拉(hera)分布式任务调度系统之版本(四)

赫拉(hera)分布式任务调度系统之Q&A(五)

hera2.3版本

  • 任务新增重复运行字

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

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

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

在这里插入图片描述

  • 新增 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 根据提示再次请求该接口即可。

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

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

展开阅读全文
©️2020 CSDN 皮肤主题: 像素格子 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值