点击上方
蓝字关注我们

✎ 编 者 按
在今年由中国科学院软件研究所主办的开源软件所供应链点亮计划-开源之夏活动中,有不少小伙伴提交了关于 DolphinScheduler 的项目,本期是来自成都信息工程大学的张树坤带来的项目经验分享。
项目总体设计为设置工作流为空跑状态,以测试整个工作流执行是否正确功能的开发。该功能通过 flag 标记在 Matser 与 Server 间的传递实现,同时考虑到系统的容错设计。难点在于涉及系统的核心处理流程,Master 执行 Scheduler 处理工作流的 DAG,Worker 获取任务负责具体的执行,两者通过 Zookeeper 进 行通信。该项目使用 SpringBoot 框架,使用 Java 语言进行开发。
项目名称
⼯作流级别任务空跑(后端)
项目方案描述
1. 修改数据表
在以下数据表中增加空跑字段。
1. t_ds_command
2. t_ds_error_command
3. t_ds_process_instance
4. t_ds_task_instance
2. api模块的接⼝修改
1. ExecutorController:startProcessInstance接⼝增加空跑DryRun参数
ExecutorService:execProcessInstance⽅法增加空跑参
ExecutorServiceImpl:execProcessInstance:增加形参并修改逻辑
ExecutorServiceImpl:createCommand:增加形参并修改逻辑
2. TaskInstanceController:在list-paging的返回值中增加空跑参数,所以只需在Mapper.xml中增加查询的字段值
3. ProcessInstanceController:在list-paging的返回值中增加空跑参数,只需要在对于xml⽂件的queryProcessInstanceListPaging增加查询参数
4. 测试类:修改ExecutorControllerTest及ExecutorService2Test中的测试⽅法,通过测试
3. dao模块修改
1. entity:在以下实例类中增加dryRun字段,相应的Getter和Setter,修改构造⽅法、toString等

本文分享了在DolphinScheduler中实现工作流空跑功能的项目经验,介绍了如何通过设置工作流为空跑状态来测试整个工作流执行的正确性,并详细描述了项目的设计、实施过程及遇到的问题与解决方案。
最低0.47元/天 解锁文章
1461

被折叠的 条评论
为什么被折叠?



