美文网首页
XXL-JOB (1)---如何自定义告警及运行流程

XXL-JOB (1)---如何自定义告警及运行流程

作者: _Kantin | 来源:发表于2022-02-24 14:27 被阅读0次

    背景

    • 有一些springboot项目涉及到较多的定时任务,使用XXL-JOB系统来进行管理,其默认实现通过邮件进行告警。
    • 我们可以通过自定义的告警类来实现其它渠道的告警。

    自定义告警

    • 在包com.xxl.job.admin.core.alarm.impl下新建告警类继承JobAlarm类并重写doAlarm方法,在此方法中编写自定义告警逻辑。
    • 自定义告警代码如下:
      • code detail
    • 告警样例:
      • 告警上报详情

    告警流程源码运行流程

    • XxlJobAdminConfig继承了InitializingBean, DisposableBean在springboot其中过程会调用XxlJobAdminConfig的init方法,此方法作为整个xxl job admin的入口方法,运行着众多的后台线程。
      • image.png
    • init方法中启动守护线程用于监控运行失败的job。
      • image.png
    • 查找失败任务并告警的流程:
      • (1)查询运行失败的任务
      • (2)调用告警媒介接口类JobAlarmer的alarm方法
      • image.png
    • 告警流程:
      • JobAlarmer同样继承了ApplicationContextAware, InitializingBean那么在springboot启动的时候会代用(2)中的afterPropertiesSet方法。
      • afterPropertiesSet中通过getBeansOfType获取到JobAlarm类的全部实现类,封装到jobAlarmList数组中。
      • 对jobAlarmList进行遍历,并分别调用各个实现的doAlarm方法即可完成多渠道的告警上报。
    • alarm process

    相关文章

      网友评论

          本文标题:XXL-JOB (1)---如何自定义告警及运行流程

          本文链接:https://www.haomeiwen.com/subject/dbmzlrtx.html