NCV5任务中心.docx
《NCV5任务中心.docx》由会员分享,可在线阅读,更多相关《NCV5任务中心.docx(14页珍藏版)》请在冰点文库上搜索。
NCV5任务中心
目录
第一章前言3
第一章任务类型注册3
第二章预警条目配置5
第三章预警消息查询6
第四章后台任务部署6
第五章我的任务9
1.临时任务提交9
2.我的任务10
第六章任务监控10
第七章任务日志12
第八章业务插件开发指南12
1.预警插件开发13
2.任务插件开发13
第一章
前言
在满足企业信息化需求的过程中,除了通过人机交互来驱动完成的业务功能外,总有一些定时或事件触发的自动任务也需要处理。
针对这种需求,在NC原有预警平台基础上,NC推出了任务中心。
任务中心主要支持以条件触发为特点的业务预警和后台异步处理的自动任务两类。
任务中心首先提供业务插件的注册功能,分为业务预警和后台任务两类,由产品开发或二次开发人员使用。
任务体的执行实际上就是业务插件类的执行。
根据注册的任务类型,通过系统提供的预警条目配置和后台任务部署,配置好运行参数、时间配置和消息方式等属性后产生具体的任务条目,并被部署到后台的调度引擎进行调度。
系统提供对运行期的任务的监控和管理,并对运行完成的任务进行了日志。
同时,还可以直接在产品界面上部署临时任务,我的任务用于管理临时任务。
第一章任务类型注册
该节点提供注册业务预警和后台任务两种类型的任务插件注册。
图1任务注册主界面
点击“增加”按钮,会弹出如下的向导对话框。
图2增加任务注册
图3类型注册-业务预警
图4类型注册-后台任务
第二章预警条目配置
相比NC5.02之前的版本,本版预警条目配置主界面有所改变。
图5预警条目配置主界面
具体设置信息,详见《NCV5-预警平台技术红皮书.doc》文档。
第三章预警消息查询
见《NCV5-预警平台技术红皮书.doc》文档。
第四章后台任务部署
该节点针对后台任务类型来部署具体的任务条目。
图6后台任务部署主界面
新增条目定义,会弹出如下对话框:
图7后台任务条目设置-基本属性
图8后台任务条目设置-类型和实参
图9后台任务条目设置-其他配置
第五章我的任务
1.临时任务提交
临时任务不需要预先注册任务类型。
产品组在各自产品界面上点击“异步XX”按钮,由产品组决定是否弹出对话框来输入实参或触发时间配置,之后调用平台接口进行任务的部署。
任务部署后,不会持久化任务条目,只向调度引擎新增任务实体。
图10临时任务触发时间配置
TimeConfigVOtc=null;
AlertTimingDlgtimingDlg=newAlertTimingDlg(this);
timingDlg.setAlertTime(newAlertTimeConfig());
timingDlg.setLocationRelativeTo(this);
if(timingDlg.showModal()==UIDialog.ID_OK){
tc=timingDlg.getTimeSettingPanel().getTimeConfigVO();
}
触发时间配置对话框的调用方法:
临时任务的部署接口:
2.我的任务
提供对自己提交的临时任务的管理。
图11我的任务主界面
第六章任务监控
该处仅仅监控任务中心产生的任务,并不是对调度引擎中三个队列(任务队列、可执行队列、运行队列)中所有的任务进行浏览和管理。
图12调度引擎中任务状态图
图13任务监控主界面
对处于等待状态的任务,可以手工立即执行该任务实例。
对处于等待和可执行状态的任务可以删除该任务实例。
第七章任务日志
该处是对于通过任务中心部署的任务执行结果进行日志,并不是对调度引擎所有执行的任务进行跟踪。
主要记录任务实体的开始执行时间、结束执行时间、执行结果、说明、条目定义对象。
任务日志是在任务执行体ITaskBody.execute()内完成。
但对于不是通过任务中心部署的任务,无法日志到数据库中。
图14任务日志主界面
可多选行后批量删除日志记录。
双击日志行,可查看到其任务条目定义。
但对于临时任务,无法联查条目。
第八章业务插件开发指南
任务的业务插件的实现接口如下图所示。
图15业务插件实现的接口
1.预警插件开发
见《NCV5-预警平台技术红皮书.doc》文档。
2.任务插件开发
实现接口IBackgroundWorkPlugin即可,其定义如下:
publicinterfaceIBackgroundWorkPlugin{
/**
*任务插件执行体
*@parambgwc执行环境
*@return任务执行完成后,需要日志的信息(即可以在任务日志节点中查看的内容)
*@throwsBusinessException
*/
StringexecuteTask(BgWorkingContextbgwc)throwsBusinessException;
}
其中,任务执行环境BgWorkingContext的定义如下:
/**
*后台任务执行环境.
*/
@SuppressWarnings("serial")
publicclassBgWorkingContextextendsCurrEnvVO{
/**
*当前登录日期
*/
privateUFDateloginDate=null;
/**
*备份数据源
*/
privateStringdatasource=null;
/**
*具体一些阈值的实参.对应结构为key:
阈值字段名,value:
真实的值
*/
privateLinkedHashMapkeyMap=newLinkedHashMap();
privateStringlogString=null;//插件需要的日志信息(持久化到数据库)
publicUFDategetLoginDate(){
returnloginDate;
}
publicvoidsetLoginDate(UFDateloginDate){
this.loginDate=loginDate;
}
publicLinkedHashMapgetKeyMap(){
returnkeyMap;
}
publicStringgetDatasource(){
returndatasource;
}
publicvoidsetDatasource(Stringdatasource){
this.datasource=datasource;
}
publicvoidsetLogStr(StringlogString){
this.logString=logString;
}
publicStringgetLogString(){
returnlogString;
}
}