diff --git a/src/main/java/com/nis/quartz/ScheduleCfgJob.java b/src/main/java/com/nis/quartz/ScheduleCfgJob.java index 1016dc1cf..6c2bb14e0 100644 --- a/src/main/java/com/nis/quartz/ScheduleCfgJob.java +++ b/src/main/java/com/nis/quartz/ScheduleCfgJob.java @@ -191,6 +191,9 @@ public class ScheduleCfgJob implements Job { String mode = cfg.getUserRegion1().toUpperCase();//定时任务运行模式:一次,每天,每周,每月 List triList = null; switch (mode) { + case "ALWAYS"://单次运行,但只创建单次生效触发器 + triList = createSimpleTrigger(cfg); + break; case "SINGLE"://单次运行 triList = createSimpleTrigger(cfg); break; @@ -254,32 +257,42 @@ public class ScheduleCfgJob implements Job { Integer compileId = cfg.getCompileId(); String cronValid = cfg.getCronValid(); String cronInvalid = cfg.getCronInvalid(); - Date validDate = DateUtil.convertStringToDate(cronValid, Constants.COMMON_DATE_FORMAT); - Date invalidDate = DateUtil.convertStringToDate(cronInvalid, Constants.COMMON_DATE_FORMAT); + Date validDate = null; + Date invalidDate = null; + if(StringUtils.isNotBlank(cronValid)){ + validDate = DateUtil.convertStringToDate(cronValid, Constants.COMMON_DATE_FORMAT); + } + if(StringUtils.isNotBlank(cronInvalid)){ + invalidDate = DateUtil.convertStringToDate(cronInvalid, Constants.COMMON_DATE_FORMAT); + } JobDataMap dataMap = new JobDataMap(); - dataMap.put("isValid", true); - dataMap.put("cfg", cfg); - String triName = VALID_KEY + cfg.getUserRegion1() + "_" + cronValid; - Trigger trigger = TriggerBuilder.newTrigger() - .withIdentity(createTiggerKey(triName, STATUS_GROUP+compileId)) - .withSchedule(SimpleScheduleBuilder.simpleSchedule()) - .usingJobData(dataMap) - .forJob(STATUS_JOBDETAIL) - .startAt(validDate) - .build(); - triList.add(trigger); - dataMap = new JobDataMap(); - dataMap.put("isValid", false); - dataMap.put("cfg", cfg); - triName = INVALID_KEY + cfg.getUserRegion1() + "_" + cronInvalid; - trigger = TriggerBuilder.newTrigger() - .withIdentity(createTiggerKey(triName, STATUS_GROUP+compileId)) - .withSchedule(SimpleScheduleBuilder.simpleSchedule()) - .usingJobData(dataMap) - .forJob(STATUS_JOBDETAIL) - .startAt(invalidDate) - .build(); - triList.add(trigger); + if(validDate!=null){//生效时间如果不为空,则创建定时生效触发器 + dataMap.put("isValid", true); + dataMap.put("cfg", cfg); + String triName = VALID_KEY + cfg.getUserRegion1() + "_" + cronValid; + Trigger trigger = TriggerBuilder.newTrigger() + .withIdentity(createTiggerKey(triName, STATUS_GROUP+compileId)) + .withSchedule(SimpleScheduleBuilder.simpleSchedule()) + .usingJobData(dataMap) + .forJob(STATUS_JOBDETAIL) + .startAt(validDate) + .build(); + triList.add(trigger); + } + if(invalidDate!=null){//失效时间如果不为空,则创建定时失效触发器 + dataMap = new JobDataMap(); + dataMap.put("isValid", false); + dataMap.put("cfg", cfg); + String triName = INVALID_KEY + cfg.getUserRegion1() + "_" + cronInvalid; + Trigger trigger = TriggerBuilder.newTrigger() + .withIdentity(createTiggerKey(triName, STATUS_GROUP+compileId)) + .withSchedule(SimpleScheduleBuilder.simpleSchedule()) + .usingJobData(dataMap) + .forJob(STATUS_JOBDETAIL) + .startAt(invalidDate) + .build(); + triList.add(trigger); + } return triList; } diff --git a/src/main/resources/messages/message_en.properties b/src/main/resources/messages/message_en.properties index 4749e5a83..2005e67db 100644 --- a/src/main/resources/messages/message_en.properties +++ b/src/main/resources/messages/message_en.properties @@ -1497,3 +1497,4 @@ validate_error=Unexpected error occurred while validating is_schduler=Scheduler v4_num=IPv4 Number v6_num=IPv6 Number +always=Permanent \ No newline at end of file diff --git a/src/main/resources/messages/message_ru.properties b/src/main/resources/messages/message_ru.properties index 9f73b6a42..ea13644c6 100644 --- a/src/main/resources/messages/message_ru.properties +++ b/src/main/resources/messages/message_ru.properties @@ -1502,3 +1502,4 @@ is_schduler=Scheduler validate_error=Unexpected error occurred while validating v4_num=IPv4 Number v6_num=IPv6 Number +always=\u041F\u043E\u0441\u0442\u043E\u044F\u043D\u043D\u043E \ No newline at end of file diff --git a/src/main/resources/messages/message_zh_CN.properties b/src/main/resources/messages/message_zh_CN.properties index fa8009dcd..8b1b6d8a2 100644 --- a/src/main/resources/messages/message_zh_CN.properties +++ b/src/main/resources/messages/message_zh_CN.properties @@ -1493,4 +1493,5 @@ everyWeek=\u6BCF\u5468 everyMonth=\u6BCF\u6708 validate_error=\u9A8C\u8BC1\u65F6\u53D1\u751F\u610F\u5916\u9519\u8BEF v4_num=IPv4 Number -v6_num=IPv6 Number \ No newline at end of file +v6_num=IPv6 Number +always=\u957F\u671F \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/include/form/scheduleNew.jsp b/src/main/webapp/WEB-INF/include/form/scheduleNew.jsp index 57ea330de..1c8dfd5bc 100644 --- a/src/main/webapp/WEB-INF/include/form/scheduleNew.jsp +++ b/src/main/webapp/WEB-INF/include/form/scheduleNew.jsp @@ -5,7 +5,10 @@ margin-bottom: 10px; } .detail{ - border-left: 2px solid #999; + /* border-left: 1px solid #999; */ + } + .mode{ + border-right: 1px solid #999; } @@ -95,7 +98,12 @@
+
+
+
@@ -116,7 +124,24 @@
-
+
+
+ +
+ +
+
+
+<%--
+ +
+ +
+
+
--%> +
+ +