白名单增加各个操作的定时任务处理;

各种批量操作增加定时任务的处理;
This commit is contained in:
段冬梅
2019-04-19 18:35:20 +08:00
parent 1191db5fbe
commit c716cb1fc3
10 changed files with 135 additions and 115 deletions

View File

@@ -82,15 +82,21 @@ public class ScheduleCfgJob implements Job {
SchedulerDao dao = SpringContextHolder.getBean(SchedulerDao.class);
JobDataMap dataMap = context.getJobDetail().getJobDataMap();
long scheduleCfgId = dataMap.get("scheduleCfgId") == null ? 0:dataMap.getLong("scheduleCfgId");
long limit = dataMap.get("limit") == null ? 1000:dataMap.getLong("limit");
long limit = dataMap.get("limit") == null ? Constants.MAAT_JSON_SEND_SIZE:dataMap.getLong("limit");
log.info(String.format("定时配置任务开始执行scheduleCfgId:%s,limit:%s",scheduleCfgId,limit ));
List<ScheduleCfg> newlyCfg = null;
List<ScheduleCfg> allNewlySche = null;
int totalNum = 0;
do {
newlyCfg = dao.findNewlyCfg(scheduleCfgId, limit,1);
if(newlyCfg != null && newlyCfg.size() > 0) {
totalNum += newlyCfg.size();
for(ScheduleCfg cfg : newlyCfg) {//先取消之前的定时配置
allNewlySche = dao.findNewlyCfg(scheduleCfgId, limit,1,1);
if(allNewlySche != null && allNewlySche.size() > 0) {
List<ScheduleCfg> allAddSche = new ArrayList<>();
totalNum += allNewlySche.size();
//先取消之前的定时配置
for(ScheduleCfg cfg : allNewlySche) {
//获取有效的任务
if(cfg.getDelFlag()==1) {
allAddSche.add(cfg);
}
Integer compileId = cfg.getCompileId();
try {
//取消之前所有的 trigger
@@ -106,7 +112,7 @@ public class ScheduleCfgJob implements Job {
log.error(String.format("定时任务取消异常compileId:%s", compileId),e);
}
}
for(ScheduleCfg cfg : newlyCfg) {
for(ScheduleCfg cfg : allAddSche) {
Integer compileId = cfg.getCompileId();
try {
//判断状态,重新添加最新的 trigger
@@ -123,12 +129,12 @@ public class ScheduleCfgJob implements Job {
}
}
//最后 保存此次 最后的id
ScheduleCfg lastCfg = newlyCfg.get(newlyCfg.size() -1);
ScheduleCfg lastCfg = allNewlySche.get(allNewlySche.size() -1);
scheduleCfgId = lastCfg.getId();
dataMap.put("scheduleCfgId", scheduleCfgId);
log.info(String.format("加载定时任务total num :%s", newlyCfg.size()));
log.info(String.format("加载定时任务total num :%s", allNewlySche.size()));
}
} while (newlyCfg != null && newlyCfg.size() > 0);
} while (allNewlySche != null && allNewlySche.size() > 0);
log.info(String.format("定时配置任务结束执行total num:%s",totalNum));
}

View File

@@ -66,8 +66,14 @@ public class ScheduleStatusJob implements Job{
log.debug(String.format("任务开始执行compileId:%s,isValid:%s",compileId,isValid ));
//配置下发,并修改 配置表的状态,保存下发记录等
ScheduleService scheduleService = SpringContextHolder.getBean(ScheduleService.class);
scheduleService.issueCompileInfo(cfg, isValid?1:0);
log.debug(String.format("任务开始执行compileId:%s,isValid:%s",compileId,isValid ));
try {
scheduleService.issueCompileInfo(cfg, isValid?1:0);
} catch (Exception e) {
log.error("定时任务"+cfg.getId()+"执行失败",e);
}finally {
log.debug(String.format("任务执行完成compileId:%s,isValid:%s",compileId,isValid ));
}
}
}

View File

@@ -85,7 +85,7 @@ public class ScheduleSyncCfgJob implements Job {
SchedulerDao dao = SpringContextHolder.getBean(SchedulerDao.class);
JobDataMap dataMap = context.getJobDetail().getJobDataMap();
long scheduleCfgId = dataMap.get("scheduleCfgId") == null ? 0:dataMap.getLong("scheduleCfgId");
long limit = dataMap.get("limit") == null ? 1000:dataMap.getLong("limit");
long limit = dataMap.get("limit") == null ? Constants.MAAT_JSON_SEND_SIZE:dataMap.getLong("limit");
log.info(String.format("Sync定时配置任务开始扫描scheduleCfgId:%s,limit:%s",scheduleCfgId,limit ));
List<ScheduleCfg> newlyCfg = null;
int totalNum = 0;
@@ -94,7 +94,7 @@ public class ScheduleSyncCfgJob implements Job {
String currentStatus = DictUtils.getDictLabel("currrent_sync_status", "status","0");
if(!(currentStatus.equals("0") || currentStatus.equals("1") || currentStatus.equals("2"))) {
do {
newlyCfg = dao.findNewlyCfg(scheduleCfgId, limit,2);
newlyCfg = dao.findNewlyCfg(scheduleCfgId, limit,2,null);
if(newlyCfg != null && newlyCfg.size() > 0) {
totalNum += newlyCfg.size();
for(ScheduleCfg cfg : newlyCfg) {//先取消之前的定时配置