博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一个简单的插件式后台任务管理程序
阅读量:5340 次
发布时间:2019-06-15

本文共 712 字,大约阅读时间需要 2 分钟。

先说一下背景:某项目需要后台定时进行特殊处理,将处理结果返回到前端。由于涉及到内外网交互、GIS空间分析等操作,而且项目属于省级类型,最终用户会很多,对于后台任务的稳定性要求较高,同时需要在内外网分别部署以完成交互工作。

问题:

(1)程序很简单,一个窗体、一个按钮,用户交互性不好;

(2)多个任务由多个独立的程序承担,开启的应用程序多,维护性不好。

正文:

其实一开始我只是想检查一下代码解决一下容易出错的问题,不料打开解决方案后,对于代码的结构、规范感觉一脸懵逼。因为处理数据源不同,大段的重复代码;大量被吃掉的异常;频繁的条件结果……。

一个10多年的老程序员无法容忍这种情况,于是开始改造之路,花了2天时间

把功能逻辑进行了修改,同时提炼了一个插件式后台任务管理程序,并规范了后台任务的编写规范。

程序特点:

1.插件式

定义了task插件文件,用户只需要编写dll,并编辑tsk文件即可注册到管理程序;

2.统一的日志管理

实现了简单的日志管理,每个任务插件的日志独立存储,便于用户排查问题。

3.统一的编码规范

自定义Task时,只需要实现DoCustomWork方法,在该方法中完成实际逻辑。

4.定义了PreLoaded类型的任务,PreLoaded任务拥有最优先运行权限,且只执行1次,用于完成初始化操作,如ArcEngine许可初始化。只有PreLoaded任务执行完毕后,才后执行普通任务。

5.可以实时修改任务的配置,如:是否自动运行、奔溃后是否自动重启、重启次数、任务运行间隔时间等。

 

转载于:https://www.cnblogs.com/ITGIS/articles/6740134.html

你可能感兴趣的文章
mysql统计一张表中条目个数的方法
查看>>
ArcGIS多面体(multipatch)解析——引
查看>>
css3渐变画斜线 demo
查看>>
JS性能DOM优化
查看>>
设计模式 单例模式 使用模板及智能指针
查看>>
HAL层三类函数及其作用
查看>>
Odoo 去掉 恼人的 "上午"和"下午"
查看>>
web@h,c小总结
查看>>
java编程思想笔记(一)——面向对象导论
查看>>
Data Structure 基本概念
查看>>
Ubuntu改坏sudoers后无法使用sudo的解决办法
查看>>
NEYC 2017 游记
查看>>
[搬运] 写给 C# 开发人员的函数式编程
查看>>
Python之旅Day14 JQuery部分
查看>>
core--线程池
查看>>
redux-effect
查看>>
Swift和OC混编
查看>>
Android轻量级的开源缓存框架ASimpleCache
查看>>
他山之石:加载图片的一个小问题
查看>>
shell - 常识
查看>>