需求

监测dolphinscheduler调度系统,任务执行异常情况。如有异常,则发送邮件通知。

处理思路

因DS本身自带的邮件发送功能,不能正常发送邮件。

故而,通过查询DS源数据表,获取当前任务执行情况。将获取结果,使用python发送邮件。

通过shell脚本获取执行情况,并将结果保存到本地。

执行代码

mysql -hip -P3306 -u用户 -p密码 -e"
use dolphinscheduler;
select   a.name,
              a.state,
              a.submit_time,
              a.start_time,
              a.end_time,
              CONCAT(TIMESTAMPDIFF(SECOND, a.start_time,a.end_time),'(s)') dur
from     t_ds_task_instance a,
              (
              select name,
                          max(submit_time) submit_time 
              from   t_ds_task_instance
              group by name
              ) b
where a.name=b.name
and      a.submit_time=b.submit_time
and      substr(a.start_time,1,10)='${deal_day}'
and      a.state not in(0,1,7)
union all
select   a.name,
              a.state,
              a.submit_time,
              a.start_time,
              '-' end_time,
              CONCAT(cast(TIMESTAMPDIFF(SECOND, a.start_time,current_timestamp)/60/60 as decimal(10,2)),'(h)') dur
from     t_ds_task_instance a,
              (
              select name,
                          max(submit_time) submit_time 
              from   t_ds_task_instance
              group by name
              ) b
where a.name=b.name
and      a.submit_time=b.submit_time
and      substr(a.submit_time,1,10)='${deal_day}'
and      a.state  in(1,10,11)
and      TIMESTAMPDIFF(SECOND, a.start_time,current_timestamp)>7200;
" > rwjk.txt
登陆mysql数据库,并执行SQL,导出结果

相关文章:

  • 2022-12-23
  • 2022-01-11
  • 2022-12-23
  • 2021-11-27
  • 2022-12-23
  • 2021-12-08
  • 2022-12-23
猜你喜欢
  • 2021-07-30
  • 2022-12-23
  • 2022-12-23
  • 2021-09-17
  • 2021-10-11
  • 2022-12-23
  • 2021-11-19
相关资源
相似解决方案