任务管理框架总体设计

前言

为了实现多系统之间任务(同步数据,发邮件,需要批量操作且耗时的后台功能)稳定运行,同时保证系统的可用时和灵活性。

解决方案

1>     问题提出

在实际业务中,经常遇到要定时或批量执行的任务( 多系统之间的数据交互,以及一些耗时功能的处理),为了便于开发和管理这些业务痛点,避免重复开发任务接口,以及对同步每个任务的执行情况有相关的记录信息,便于追踪和解决问题,需要设计和开发任务管理框架。

1>公共接口层定义任务的公共接口或方法(框架)

2>任务执行层用于执行具体的任务方法(继承框架根据实际业务自定   义)

3>任务支撑层用于定义任务执行辅助类(日志,任务配置,发邮件,数据库访问)(框架)

4>节点服务包括任务执行层和任务支撑层,是任务运行的最小单元,可以根据实际需要定义多个。

5>监控服务用于监控每个节点服务的状态并根据管理需要向节点服务发送控制指令(启动,停止,更新配置等)和安装节点服务,卸载节点服务等。(框架)

6>管理界面用于管理多个任务的界面终端,根据监控服务向节点服务发送控制指令。(框架)

框架使用总体业务逻辑:

(1)将二次开发好的任务执行层放到服务器指定目录,同时在管理界面录入相关的配置信息(节点服务名,执行间隔,执行次数,节点服务安装路径,节点服务发布路径)等。

(2)在管理界面中选择节点服务(安装,卸载,启动,停止,更新配置),点击安装服务,启动服务即可。

(3) 在管理端查看节点服务的运行日志,等

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

时间: 2024-11-07 14:17:25

任务管理框架总体设计的相关文章

(一)熟悉执行流程——基于ThinkPHP3.2的内容管理框架OneThink学习

ThinkPHP作为国内具有代表性的PHP框架,经过多年的发展,受到越来越多公司与开发者的青睐.我也在忙里偷闲中抽出部分时间,来学习这个优秀的框架.在开始学习这个框架时,最好通过实例来学习,更容易结合实际的生产情况,促进学习的效果:这里我就选择由ThinkPHP团队开发的基于ThinkPHP3.2的内容管理框架OneThink来学习,从了解它的执行流程→熟悉流程中各个细节→了解模版标签→自己实际去使用标签→再了解它的实际执行过程……通过这样一个流程来熟悉如何基于ThinkPHP开发出一套CMS系

敏捷项目管理框架(APMF)

研读许秀影博士的<敏捷项目管理:基础知识与应用实务>一书,其中提到传统项目管理与敏捷项目管理的混合管理模式—敏捷项目管理架构(Agile Project Management Framework,APMF),估计是普遍大部分公司所需要的,也比较认可的模式,可以很好的实现传统项目管理向敏捷项目管理转型.这本书很值得推荐,从现在软件管理的大势所需,到对软件研发管理发展史的剖析,到推崇的敏捷项目管理框架,到敏捷项目管理的企业导入,到敏捷创新模式讲解,让你在软件项目管理方面有了更加开阔的视野.如果你对

基于C/S架构的3D对战网络游戏C++框架 _02系统设计(总体设计、概要设计)

本系列博客主要是以对战游戏为背景介绍3D对战网络游戏常用的开发技术以及C++高级编程技巧,有了这些知识,就可以开发出中小型游戏项目或3D工业仿真项目. 笔者将分为以下三个部分向大家介绍(每日更新): 1.实现基本通信框架,包括对游戏的需求分析.设计及开发环境和通信框架的搭建: 2.实现网络底层操作,包括创建线程池.序列化网络包等: 3.实战演练,实现类似于CS反恐精英的3D对战网络游戏: 技术要点:C++面向对象思想.网络编程.Qt界面开发.Qt控件知识.Boost智能指针.STL算法.STL.

【从0开始Tornado建站】总体设计

Tornado是一个非阻塞的web服务器,也是python的web框架中非常优秀的一款.网上关于django的tutorial非常多而且详细,关于tornado的使用就非常少了,我想以我从0开始的方式一步一步用这个优秀的tornado框架建一个小网站,一方面加深自己的理解,另一方面接受大家的建议和批评,更加进步~我注册了个域名:http://www.ustchacker.com,由于服务器在学校里面,外网访问不了,等功能完善后再挂到外网去. 我想建的是一个普通的网站,有登录.注册.发表文章.发表

ASP.NET Core中的依赖注入(5): ServiceProvider实现揭秘 【总体设计 】

本系列前面的文章我们主要以编程的角度对ASP.NET Core的依赖注入系统进行了详细的介绍,如果读者朋友们对这些内容具有深刻的理解,我相信你们已经可以正确是使用这些与依赖注入相关的API了.如果你还对这个依赖注入系统底层的实现原理具有好奇心,可以继续阅读这一节的内容. 目录一.ServiceCallSite 二.Service 三.ServiceEntry 四.ServiceTable 五.ServiceProvider 作为DI容器的体现,ServiceProvider是ASP.NET Co

【开源】OSharp框架解说系列(1):总体设计

〇.前言 哈,距离前一个系列<MVC实用构架设计>的烂尾篇(2013年9月1日)已经跨了两个年头了,今天是2015年1月9日,日期已经相映,让我们开启新的航程吧. 前一个系列讲的主要是我对架构设计的理解以及怎样用好EntityFramework的一些想法,在技术细节上并没有太多的考究.不幸的是,不少同学把这个架构当作框架来用了,里边留的很多坑,坑苦了很多人,真是误人子弟,深表愧疚.于是重新整理代码,整理思路,鼓捣出了这个我们将要详解的开源框架:OSharp.这次,我们真的深入地说框架了,而不是

Windows管理框架WMF总览

Windows管理框架WMF总览 Windows管理框架WMF是基于Windows的,跨服务器的一致性管理接口的架构.它包含如下特性: Windows PowerShell Windows PowerShell Desired State Configuration (DSC) Windows PowerShell Integrated Script Environment (ISE) Windows Remote Management (WinRM) Windows Management In

Atitit.&#160;atiOrder&#160;&#160;&#160;Order&#160;订单管理框架的设计

Atitit. atiOrder   Order 订单管理框架的设计 1. Order 订单处理流程1 2. code2 3. Ref7 1. Order 订单处理流程 if(userSvr.isNotLogin()) { throw new RuntimeException(" not login 没登录,请先登录..#not_login"); } User u=userSvr.getLoginUser(); Acc a=accSvr.getAcc(u.id); BigDecimal

Android 框架修炼-自己封装双缓存管理框架库

一.概述 Android开发中,网络请求是很重要的一部分,而缓存网络请求来的图片或者响应结果字符串或者结果流,既可以省流量,同时也可以帮助我们 解决无网或弱网情况下加载情况,当然也可以提升程序性能效率.纵所周知,缓存管理中肯定需要用到内存缓存,这里我们采用LruCache来管理内存的缓存. LruCahce虽然速度快,但是只是内存级别的缓存,为了实现持久化的缓存,我们还需要文件级别的缓存,也就是说我们要把缓存保存到文件,而文件则是保存 到手机存储或者SD卡存储中,即实现Disk级别的缓存,这里我