DolphinScheduler 任务失败后,这 3 种补救措施你掌握了吗

当 DolphinScheduler 的任务失败之后,如何安全地让它重新“站”起来?

一、3种补救措施,总有一款适合你

面对失败的任务,我们首先要弄明白一件事:官方给的手动补救入口。

根据版本的不同,你能在流程实例页面,右键点击失败的实例,找到几种处理方式:“重跑”、“重跑失败任务”等等。

而这些操作的背后,是我们需要区分的三种核心补救逻辑。搞清楚它们的边界,是你补救的关键一步。

二、补救三种方式

  1. 重跑
  2. 重跑失败任务
  3. 补救

三、实战走一遍

我们建一个流程,里面2个节点,都是Mysql数据源任务。脚本分别如下

insert into cs2 select * from cs where adddate='${system.biz.date}'insert into cs3 select * from cs2 where adddate='${system.biz.date}'

主要任务就是每天定时执行把表中的昨天的数据拷贝到另一张表。

  1. 通过修改表名,模拟任务失败场景

这里有3个手动执行失败和3个定时执行失败的场景。

等到3-13号时,我们点击这三种方式看有什么区别

  1. 手工执行中补救

点击重跑后,实际同步的数据是3-12号的数据,说明重跑按照的时间是根据当前点击的时间来算的。

点击重跑失败任务和重跑一样,从失败节点继续执行。

这2个都是在当前失败的流程实例中运行。

补救只能在流程定义中执行,也就是会重新创建流程实例,原来的流程实例还是失败状态。

补救可以选择调度日期段,这样时间是按照选择的日期进行执行,如果选择3-11号,那么数据就是3-10号的数据。

  1. 在定时中补救

点击重跑后,实际同步的数据是3-10号的数据,说明重跑按照的时间是调度时间来算的。

点击重跑失败任务和重跑一样,从失败节点继续执行。

这2个都是在当前失败的流程实例中运行。

四、总结

  1. 没有调度时间的,重跑和重跑失败任务都是按照当前点击的时间运行点击的实例
  2. 有调度时间的,重跑和重跑失败任务都是按照调度的时间运行点击的实例。
  3. 补救是选择调度时间重新创建实例运行。
posted @ 2026-05-27 14:57  海豚调度  阅读(23)  评论(0)    收藏  举报