当前位置:文档之家› 任务调度详细设计说明书

任务调度详细设计说明书

MainService为主线程,用于监控SCH_SchduleControl任务调度控制表中的批量指令,同时调用该批量。

发起和管理每个任务线程的启动和中断,以及插件包的加载、日志、配置等信息初始化。

TaskSchedulePool为任务调度的线程池,由主线程创建,每个批量启动后就会创建一个TaskScheduleControl线程来处理这个任务的具体执行内容。

TaskScheduleControl线程实现类,每个单独的任务创建一个实例。

用于控制一个任务中每个作业的执行,按依赖关系先后顺序调用作业。

作业的状态更新和读取通过调用JobExchangeComponent类实现;作业的具体执行通过Quartz框架提供的线程池来实现。

JobExchangeComponent类实现作业中的数据结构组建和更新,当作业执行状态变更时,更新相应的数据结构和知识库中的内容;读取当前要处理的作业队列。

Quartz 封装第三方框架,提供异步作业执行的线程池,用于定时执行指定作业。

JobExecute提供通用作业执行接口,同时提供监听器,当作业执行完成后,返回执行结果到JobExchangeComponent。

通过实现通用作业接口来调用各种功能。

3.1 任务调度服务主模块
3.1.1系统初始化
载入系统的配置项的数据,包括数据库驱动、连接参数;服务器标识、任务扫描频率、插件目录、是否写事件序列表等。

根据插件目录,载入插件类。

数据库访问实例化。

任务线程池初始化。

Service TaskScheduleControl 创建新批量任务JobExchangeComponent 获取作业队列
返回可执行的作业列表
更新作业状态为运行中JobItem TaskPersistDB 创建作业更新组件
返回作业更新对象
初始化作业列表返回持久化更新对象更新作业状态为运行中
创建并执行作业返回执行结果更新作业状态为成功或失败
更新作业树的状态
更新作业状态为成功或失败
重复读取作业队列
检查新任务
循环检查判断树状态,确定是退出还是继续
JobListener
执行结束
作业开始执行
3.2.3 数据结构定义。

相关主题