原创文章。
在前一篇文章里面写到我们自行实现,把Aps的配置信息全部数据化库,实现了任务的所有变更在web上进行。
配置信息数据库化:https://blog.csdn.net/u014156533/article/details/107466257
这个方案变更很方便,但是每次变更后还需要手工重启调度任务,效率很低。
既然信息都已经入库,想要对信息做一些监听和操作也就比较简单了。
今天这篇文章实现的就是调度任务的动态加载,包含新增、修改、删除,用到了aps自身的remove和add逻辑。
分为几步来实现:
- 添加一段任务信息变更的监听逻辑,检测任务的多种变化
- 原理是建立一个列表,存放正在运行的任务参数,并和最新列表做比对。
-
以最新的任务列表为单位,逐一和运行中的任务列表做比对 1. 更新场景: id一致,任务状态仍为启用,但参数有变化 2. 新增场景: 2.1 id在运行表中不存在,且新任务状态为启用 2.2 id一致,但状态由disable变为enable 3. 删除场景: 3.2 id一致,但状态由enable变为disable 之后再以运行中的任务列表为单位,逐一和最新任务列表比对,只补充一种删除场景 删除场景: id在最新列表中不存在,且运行任务状态为启用
- 根据变化的不同,调用aps对