异常作业检测的设计说明

1.需求描述
一个作业跑了很久都没有跑完,或者非常快就跑完了,我们认为这种作业可能存在异常那个,需要把这种作业监控出来,及时查看情况进行相应的处理。

2.实现方式
每个作业被创建出来后,都会在 ZK 上创建节点保存相关信息,作业的启用、运行、结束、停止都会引起 ZK 节点上数据的变化。
只要搞清楚 每个作业在ZK上的数据结构,然后直接读取ZK 数据,就可以结合业务逻辑做监控了。
一个作业的节点信息中,非常重要的有下面几个:namespace、jobName、execution、item等。
作业正在执行的节点为running,执行完毕为 completed。如果作业没有启用过,那么这些节点也不会存在。不同状态节点的数据提取方式稍微不同。
总之,要把握好对节点的判断。
举一个例子,DemoJob在ZK节点上的数据结构如下:

我们读取ZK做逻辑处理速度是非常快的。
异常作业监控实现类 :com.******.****.job.monitor.TimeoutJobMonitor
一个对其他作业运行状态监控的作业配置,主要涉及到三个自定义参数(不区分大小写):
flag:超时时间(单位:秒),非必填&#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值