任务调度大数据后端前端【免费下载链接】dolphinschedulerApache DolphinScheduler is the modern data orchestration platform. Agile to create high performance workflow with low-code项目地址https://gitcode.com/gh_mirrors/do/dolphinscheduler点击查看免费下载本文以 Apache DolphinScheduler 前端「项目管理 → 工作流 → 任务实例」页面为核心系统讲解批量任务实例与实时任务实例的查看入口、列表字段含义、日志查看、SavePoint 与 Stop 等操作并结合仓库源码说明其底层 API 调用链与权限校验逻辑。读者读完可掌握任务实例页面的完整使用方式并能根据任务状态快速定位问题、实施运维干预。任务实例Task Instance是什么在 DolphinScheduler 中工作流实例Process Instance是工作流定义被触发后的一次具体运行而任务实例Task Instance则是工作流实例中某个任务节点的一次具体执行记录。每一次工作流实例运行都会为其 DAG 中的每个任务生成对应的任务实例并记录该任务的提交时间、开始时间、结束时间、运行状态、重试次数、执行主机host等信息。因此任务实例页面承担两个核心职责追踪与排障按时间、状态、任务名等条件检索任务实例查看单次任务的运行状态与完整日志运维干预对批量任务的失败实例执行强制成功对实时流式任务执行 SavePoint 或 Stop。任务实例页面位于dolphinscheduler-ui/src/views/projects/task/instance/index.tsx页面内部通过两个 Tab 分别承载批量任务实例batch-task.tsx与实时任务实例stream-task.tsx与 guide/project/task-instance.md 中的批量任务实例 / 实时任务实例两部分一一对应。批量任务实例页面入口依次点击项目管理 → 工作流 → 任务实例进入任务实例页面默认停留在批量任务实例Tab页面顶部提供多条件筛选可在列表中快速定位目标任务实例。列表字段说明根据 use-table.ts 中的列定义批量任务实例列表展示的核心字段如下字段含义任务名称name任务节点名称工作流实例processInstanceName该任务所属的工作流实例名称点击可跳转到对应工作流实例的 DAG 图执行人executorName触发该任务实例的用户节点类型taskType任务插件类型如 SHELL、SQL、SPARK 等状态state任务执行状态如成功、失败、运行中、KILL 等提交时间 / 开始时间 / 结束时间任务各阶段时间点耗时duration由开始时间与结束时间计算得出DateUtils.format2Duration重试次数retryTimes该任务的已重试次数dryRun是否为试运行值为 1 时显示 YEShost实际执行该任务的 Worker 主机地址appLink关联的外部应用链接如 Flink/Spark 的 Web UI 链接其中状态列由renderStateCell渲染任务处于运行中、提交中、等待等状态时会显示旋转加载图标将鼠标悬停在状态图标上可看到状态描述文本。点击工作流实例名称跳转 DAG 查看任务状态在列表中点击工作流实例列的名称链接会新开标签页跳转到该工作流实例的 DAG 图前端路由workflow-instance-detail可直接在 DAG 上查看各任务节点的实时状态与依赖关系。这在排查某个任务失败对后续下游任务的影响时非常直观。查看日志点击操作列中的查看日志按钮可查看该任务实例的执行日志日志查看有以下特点日志以弹窗Modal形式呈现支持查看运行中的实时日志当任务实例没有可用的 host如任务尚未被 Worker 领取执行时查看日志按钮会被置灰禁用disabled: !row.host此时无法查看日志除查看外操作列还提供下载日志按钮通过downloadLog接口后端路径log/download-log携带taskInstanceId参数将日志文件下载到本地便于留存归档。从源码角度看日志的远程读取与清理由ILogService完成例如 TaskInstanceServiceImpl.java 在按工作流实例 ID 删除任务实例时会先通过SingletonJdkDynamicRpcClientProxyFactory生成指向任务执行主机taskInstance.getHost()的 RPC 代理再调用iLogService.removeTaskInstanceLog(taskInstance.getLogPath())清理对应日志删除日志失败不会影响任务实例的删除。强制成功Force Success除日志操作外批量任务实例的操作列还提供强制成功按钮见 use-table.ts。该按钮仅在任务状态为FAILURE、NEED_FAULT_TOLERANCE或KILL时可用用于把失败/被杀死的任务实例标记为强制成功从而让下游任务得以继续执行常用于人工确认失败原因后可放行的场景。后端实现位于 TaskInstanceServiceImpl.forceTaskSuccess其执行流程为校验登录用户对当前项目是否拥有强制成功权限FORCED_SUCCESS校验任务实例存在且属于当前项目校验其所属工作流实例必须已处于结束状态否则拒绝执行校验任务实例当前状态必须是失败isFailure或被杀isKill否则报TASK_INSTANCE_STATE_OPERATION_ERROR将任务实例状态置为FORCED_SUCCESS并写入结束时间同时调用forceProcessInstanceSuccessByTaskInstanceId联动推进工作流实例状态。该操作是事务性的Transactional且会产生审计日志AuditType.TASK_INSTANCE_FORCE_SUCCESS。实时任务实例切换到实时任务实例Tab即可查看流式STREAM任务实例例如 Flink Streaming、Spark Streaming 等常驻任务与批量任务不同实时任务实例没有对应的工作流实例源码中实时任务查询走queryStreamTaskInstanceListPaging不关联processInstanceId因此列表展示的是任务名称、工作流定义名称processDefinitionName、节点类型、状态、执行人、host、应用 IDapplicationID等信息。实时任务实例操作列提供两个关键运维操作SavePoint保存点点击操作列中的SavePoint按钮可为正在运行的实时任务执行保存点操作。保存点用于记录流式任务当前的计算状态之后可从该保存点恢复任务实现断点续跑。后端调用链为TaskInstanceController.taskSavePoint→TaskInstanceServiceImpl.taskSavePoint见 TaskInstanceServiceImpl.java校验当前用户对项目拥有相应权限根据taskInstanceId查询任务实例不存在则返回TASK_INSTANCE_NOT_FOUND通过 RPC 代理SingletonJdkDynamicRpcClientProxyFactory连接任务实际执行所在的 host调用IStreamingTaskInstanceOperator.triggerSavepoint向远端发送TaskInstanceTriggerSavepointRequest触发保存点记录响应日志后返回成功。Stop停止点击操作列中的Stop按钮可停止该实时任务。前端对应streamTaskStop接口task-instances 前端服务。后端调用链为TaskInstanceController.stopTask→TaskInstanceServiceImpl.stopTask见 TaskInstanceServiceImpl.java同样先做项目权限校验然后通过 RPC 代理连接任务 host调用ITaskInstanceOperator.killTask发送TaskInstanceKillRequest终止任务。底层 REST API 一览任务实例页面的所有交互最终都映射到 TaskInstanceController.java 提供的 REST 接口路由前缀为/projects/{projectCode}/task-instances方法路径说明适用类型GET/projects/{projectCode}/task-instances分页查询任务实例列表支持processInstanceId、processInstanceName、searchVal、taskName、taskCode、executorName、stateType、host、startDate、endDate、taskExecuteType、pageNo、pageSize等参数批量 / 实时POST/projects/{projectCode}/task-instances/{id}/force-success强制任务成功批量POST/projects/{projectCode}/task-instances/{id}/savepoint触发保存点实时POST/projects/{projectCode}/task-instances/{id}/stop停止任务实时DELETE/projects/{projectCode}/task-instances/{id}/remove-cache移除任务实例缓存批量其中分页查询在 TaskInstanceServiceImpl.queryTaskListPaging 中实现根据taskExecuteType分流——STREAM走queryStreamTaskInstanceListPaging其余走queryTaskInstanceListPaging查询时通过checkProjectAndAuthThrowException校验用户对项目的访问权限权限类型TASK_INSTANCE并对searchVal做特殊字符转义ParameterUtils.handleEscapes返回结果前会补充每个任务的耗时duration与执行人姓名并排除taskJson等冗余字段。前端对应的接口封装见 task-instances 前端服务模块包含queryTaskListPaging、forceSuccess、savePoint、streamTaskStop、downloadLog等函数可直接作为二次开发时对接后端 API 的参考。小结任务实例页面是 DolphinScheduler 中连接任务调度与任务可观测性的关键窗口批量任务实例支持多条件筛选检索、跳转 DAG、查看/下载日志以及对失败任务实施强制成功实时任务实例提供 SavePoint 与 Stop 两项流式任务专属运维能力所有页面操作均对应 TaskInstanceController 中带权限校验的 REST API后端通过 RPC 将 SavePoint、Stop 等指令下发给任务实际运行的 Worker 主机执行。日常运维中建议先通过任务实例列表结合时间、状态筛选定位异常实例再查看日志确认失败原因对已确认可放行的失败批量任务使用强制成功对流式任务则善用 SavePoint 保证状态可恢复后再执行 Stop。赞分享任务调度大数据后端前端【免费下载链接】dolphinschedulerApache DolphinScheduler is the modern data orchestration platform. Agile to create high performance workflow with low-code项目地址https://gitcode.com/gh_mirrors/do/dolphinscheduler点击查看免费下载相关推荐Apache DolphinScheduler 任务实例Task Instance管理指南批量/流式任务查询、日志查看与运维操作Apache DolphinScheduler 任务实例Task Instance管理指南批量/流式任务查询、日志查看与运维操作 任务实例Task In任务调度大数据后端前端Apache DolphinScheduler 任务实例Task Instance完全指南批量/实时任务查询、日志查看与 SavePoint 操作Apache DolphinScheduler 任务实例Task Instance完全指南批量/实时任务查询、日志查看与 SavePoint 操作 任务实任务调度数据编排工作流自动化后端大数据Apache DolphinScheduler 任务实例Task Instance管理实战批量任务查询与日志排查、流式任务 SavePoint 与停止Apache DolphinScheduler 任务实例Task Instance管理实战批量任务查询与日志排查、流式任务 SavePoint 与停止 任任务调度数据编排工作流自动化后端大数据创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考