[DolphinScheduler]工作流实例卡在正在停止&任务实例卡在正在运行

1 现象

在DolphinScheduler所在的host中查看,实际上执行的任务已经停止,但是前端并未更新任务实例的状态,依然显示为“正在运行”。

2 解决办法

去存储DolphinScheduler元数据的MySQL中手动修改该任务实例的状态。

官方元数据文档

https://dolphinscheduler.apache.org/zh-cn/docs/1.3.6/metadata-1.3

这个表保存任务实例的信息

t_ds_task_instance
字段类型注释
idint主键
namevarchar任务名称
process_instance_idint流程实例id
statetinyint任务实例状态:0 提交成功,1 正在运行,2 准备暂停,3 暂停,4 准备停止,5 停止,6 失败,7 成功,8 需要容错,9 kill,10 等待线程,11 等待依赖完成

首先找到状态卡住的任务实例

SELECT * FROM `t_ds_task_instance` WHERE `status` = 1

如果有多个正在运行的任务实例,根据启动时间来判断具体是哪个。通过筛选其id执行SQL。

手动将状态改为失败或停止。

UPDATE `t_ds_task_instance` SET state = 6 WHERE `id` = '2465747';

操作之后可以在前端看到任务实例状态已变为失败或停止。对应的工作流实例也会变为失败或停止。

3 错误的解决办法

之前参考的是:https://blog.csdn.net/Lzx116/article/details/128189897

他是修改的这个表t_ds_process_instance

此表为工作流实例的元数据表,而不是任务实例的元数据表。

修改完之后去前端看工作流实例的状态会变为“正在运行”,点击“停止”按钮后依然会卡在“正在停止”。我猜测工作流实例的状态是检测任务实例的状态判断的,所以单纯修改工作流实例的状态不能达到目的。需要修改更基本的任务实例的状态。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值