#_Toc3kxivz3.4.5启动/停止任务 14
#_Tocrrvjc53.5.1执行详细查看 16
<a id="_Tocjrd0n0"></a># 前言
随着业务规模的不断扩展和技术复杂性的增加,当前依赖手动操作和非结构化任务调度的方式来完成配置备份、获取资产等重要后台作业的方法显得效率低下且易出错,尤其在高并发和大数据量处理场景下,这种方式难以满足业务发展需求。因此,我们计划开发一条全新的任务调度系统,旨在通过自动化调度机制替代现有的人工干预方式,以提升运营效率、增强任务执行的可靠性、支持大规模并发处理,并增加安全保障措施,确保系统在面对未来业务增长时仍能保持稳定高效的工作性能,同时为用户提供更优质的服务体验。
<a id="_Tocwmusri"></a># 整体架构
任务调度将调度行为抽象成“调度中心”公共平台,平台自身不承担业务逻辑,只负责发起调度请求。
将任务抽象成分散的JobHandler,交由“执行器”统一管理,“执行器”负责接收调度请求并执行对应的JobHanddler中的业务逻辑。
“调度”和“任务”两部分相互解耦,提高系统整体稳定性和扩展性。
负责管理和触发定时任务。内置任务调度器,基于Quartz等成熟的定时任务调度框架而来,调度中心会预先解析用户在管理后台配置好的任务执行时间规则,像常见的Cron表达式,以此来确定任务下次触发的准确时刻。
实际运行任务的服务实例,部署在具体的业务服务器上。执行器向调度中心进行注册,告知自身的服务地址与可执行任务列表等信息。当调度中心根据定时规则判定某个任务需要执行时,它会从已注册的执行器列表里挑选合适的执行器,向其发送任务执行请求。
支持任务执行日志的记录和查看,有助于即使发现和解决任务执行中的问题。
<a id="_Tocrfolut"></a># 功能介绍
<a id="_Tocihkt0x"></a>## 权限说明
<a id="_Tocz8xtsh"></a>## 登录
用户:首次安装的DigitalHive登录用户为配置文件中的默认用户名密码分为两类用户
管理员账户:用户名:admin、密码:admin(可以操作所有页面)
地址栏中输入http://地址:9130/base
<a id="_Toc16jxw2"></a>## 执行器管理
执行器管理模块负责执行器的注册、信息更新、删除以及状态监控等功能,确保每个执行器能够有效承载并执行分配的任务。
<a id="_Tocfmoe06"></a>### 新增执行器
新增执行器:点击【新增】按钮,即可打开新增执行器抽屉。填写相关信息后,即可完成执行器的新增
AppName:必须以小写字母开头,仅包含小写字母、数字和中划线,字符长度不得超过60
名称:不可为空,字符长度不得超过60,不包含特殊字符
自动注册:根据AppName自动获取执行器的机器地址。当选择该注册方式,机器地址填写框置灰,不可填写机器地址
手动注册:支持手动录入机器地址。需填写含有端口号的机器地址,若包含多个机器地址,可用“,”隔开
机器地址:注册方式为手动注册时输入框可用,不可为空
<a id="_Tocb8lkug"></a>### 编辑执行器
通过点击需要编辑的执行器操作栏的【编辑】按钮,即可打开执行器信息抽屉进行编辑。
<a id="_Tocgfsn3y"></a>### 删除执行器
单个删除:通过点击需要删除的执行器操作栏的【删除】按钮,确认后即可删除所选执行器,删除执行器后相关任务也会被删除清理
批量删除:选择多个执行器,点击上方工具栏的【删除】按钮,确认后即可删除所选执行器,删除执行器后相关任务也会被删除清理
<a id="_Tocvvxjj8"></a>### 机器地址查看
点击 online 机器地址的【查看】按钮,即可弹出所选执行器的地址列表。
<a id="_Tocysudzs"></a>### 筛选执行器
在菜单栏的搜索模块,输入执行器相关的名称、AppName、online 机器地址、注册方式可进行模糊查询。
<a id="_Tocvz9d80"></a>## 任务管理
任务管理模块旨在提供对系统内各种任务的全生命周期管理,支持任务的创建、更新删除及查询等功能。此外,模块需具备任务状态实时监控的能力,包括每次执行的开始时间、结束时间、持续时间和执行结果。同时,该模块还需支持任务和调度配置,允许用户设定任务的执行频率和具体执行时间;实现任务的暂停与恢复操作。
<a id="_Tocsvgi6b"></a>### 新增任务
点击【新增】按钮,即可打开新增任务抽屉,填写相关信息后,即可完成任务的新增。
任务类型:下拉选择任务类型,单选,任务类型为其它系统已有的类型
调度类型:下拉选择调度类型,单选,有无、cron 两种,当选中“无’时,调度周期不显示,创建成功后,如果“创建后启动按钮开启,则创建后运行一次;当选中“cron”时,调度周期显示为“cron”,提示“请输入 corn 表达式”
<a id="_Tocgj5o13"></a>### 编辑任务
通过点击需要编辑的任务操作栏的【修改】按钮,即可打开任务信息抽屉进行编辑。
<a id="_Tocnhzt8m"></a>### 删除任务
单个删除:通过点击需要删除的任务操作栏的【更多】按钮,再点击【删除】确认后即可删除所选任务
批量删除:选择多个任务,点击上方工具栏的【删除】按钮,即可删除所选任务
<a id="_Tocmbez19"></a>### 筛选任务
根据任务状态筛选:任务状态有进行中、停止两种。选择相应的任务状态,即可筛选除所选状态的任务
根据任务类型筛选:在下拉框中选择所需的类型的任务,即可完成任务类型选
模糊查询:通过输入关键字,对任务名称、任务描述、负责人进行模糊查询
<a id="_Toc3kxivz"></a>### 启动/停止任务
点击操作栏的【启动】或【停止】按钮,即可进行任务的启动/停止。
<a id="_Tockrm50x"></a>### 更多操作
更多操作:点击操作栏的“更多”按钮,即可显示更多操作按钮。包含执行一次任务、查看任务节点、复制任务、执行历史查看
<a id="_Tocn8swm6"></a>## 调度日志
调度日志模块旨在全面记录任务调度过程中的各项活动,包括任务的执行时间、执行结果、持续时间等相关信息。该模块需支持日志记录、查询和详细展示功能。
<a id="_Tocrrvjc5"></a>### 执行详细查看
查看详细:点击操作栏的【查看详情】按钮,即可查看执行详情
基础信息:显示所选任务调度的基本信息,包含任务名称、任务类型、任务描述、任务状态(成功与失败数据统计)、计划时间、开始时间、结束时间、持续时间(秒)等信息
执行详细:根据任务类型,自动扩展创建该类任务的执行详情
<a id="_Tocxoecwr"></a>### 筛选日志
筛选有根据执行状态筛选、任务类型删选、根据执行时间筛选、以及模糊查询4种,4种可进行组合筛选。
根据执行状态筛选:执行状态有成功、失败、进行中三种。选择相应的执行状态,即可筛选除所选状态的日志
根据任务类型进行筛选:在下拉框中选择所需的任务类型的日志,即可完成按照任务类型进行调度日志筛选
模糊搜索:通过输入关键字,对任务名称、执行器地址进行模糊查询
按照时间查询:通过选择任务执行时间区间,即可筛选所选区间内任务执行的日志
<a id="_Toc1fjq6a"></a>### 日志清理
点击菜单栏的【清理】按钮,即可选择按照时间或数据数量清理数据,选择选项后点击【确定】即可完成日志清理。