【数媒在线课堂】任务执行框架设计:在线课堂

参考市面上成熟的任务执行框架在线课堂,我们也采取了任务和任务执行实例分离的设计思想,同时引入了触发记录的概念,在实例级别调度控制的基础上,扩展了对于整体调度执行的把控:

2.1. 领域模型概念阐述

2.1.1. 任务

一次工作流的统称在线课堂,比如一次图片素材导入任务,可以拆解为以下的工作流程:

素材准备;

数据分片 & 分桶;

素材 key 生成以及素材上传 OSS;

基础属性写入;

扩展属性写入;

任务应该具有这几个基本属性:

任务类型;

调度属性:包括调度类型(一次性调度或周期性调度)和调度所依赖的时间信息等;

调度依赖:包含任务执行所需要的一些配置信息在线课堂,如图片素材应该从哪里以什么样的筛选条件读取;

状态在线课堂

要注意的是,任务本身并不能被执行,只有经过触发且实例化后,才能被执行在线课堂

2.1.2. 触发器 & 触发记录

通过触发器,触发任务并生成一条触发记录,然后依据触发记录将任务进行实例化在线课堂

2.1.3. 任务实例

任务的最小可执行单元在线课堂。实例之间具有依赖关系,只有前置依赖被执行完成,实例才可以被执行;同时实例具有分组,所以可以在分组维度进行并发控制。实例具有以下基本属性:

实例类型:目前支持 odps 节点在线课堂,odps sql 和 java 执行实例;

实例依赖节点;

实例分组;

实例归属的任务;

实例归属的生成记录;

执行状态在线课堂

2.2. 任务触发示例展示

在任务维度,可以获取所有的触发记录,在触发记录维度,可以进行实例的批量操作(终止和重跑);在实例维度,可以查看实例具体的执行状态以及进行最细粒度的执行控制:单实例级别的任务终止和重跑在线课堂

本站内容来自用户投稿,如果侵犯了您的权利,请与我们联系删除。联系邮箱:835971066@qq.com

本文链接:http://gmstar.cn/post/177.html