diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/config/JobRunner.java b/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/config/JobRunner.java index 138f3f7db..1041e14d5 100644 --- a/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/config/JobRunner.java +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/config/JobRunner.java @@ -35,17 +35,20 @@ public class JobRunner implements ApplicationRunner { //本机IP String localIp = NetUtil.getLocalhostStr(); System.out.println("本机ip:"+localIp); - //选择需要开启定时任务的服务器ip - String quartzIp = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("QUARTZ_IP").getValue(); - if (!localIp.equals(quartzIp)) { - log.info("--------------------定时任务未开启,请检查配置!---------------------"); - System.out.println("--------------------定时任务未开启,请检查配置!---------------------"); - return; - } log.info("--------------------注入定时任务---------------------"); List quartzJobs = quartzJobService.findByIsPauseIsFalse(); - quartzJobs.forEach(quartzManage::addJob); + quartzJobs.forEach(job -> { + if (localIp.equals(job.getJob_ip())) { + log.info("定时任务:{}, 执行ip: {}, 定时任务开启", job.getJob_name(), localIp); + System.out.println("定时任务: " + job.getJob_name() + ", 执行ip: " + localIp + ", 定时任务开启"); + quartzManage.addJob(job); + } else { + log.info("定时任务 {} 未开启, 本机ip{} 与 调度ip{} 不同", job.getJob_name(), localIp, job.getJob_ip()); + System.out.println("定时任务 " + job.getJob_name() + " 未开启, 本机ip: " + localIp + " 与 调度ip: " + job.getJob_ip() + " 不同"); + } + }); + log.info("--------------------定时任务注入完成---------------------"); } diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/dao/SysQuartzJob.java b/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/dao/SysQuartzJob.java index 86ad3a2a7..aaf9b58fd 100644 --- a/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/dao/SysQuartzJob.java +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/dao/SysQuartzJob.java @@ -124,4 +124,9 @@ public class SysQuartzJob implements Serializable { @TableField(exist = false) private String uuid; + + /** + * 调度IP + */ + private String job_ip; } diff --git a/lms/nladmin-ui/src/views/system/timing/index.vue b/lms/nladmin-ui/src/views/system/timing/index.vue index 98484d869..54e021c19 100644 --- a/lms/nladmin-ui/src/views/system/timing/index.vue +++ b/lms/nladmin-ui/src/views/system/timing/index.vue @@ -71,6 +71,9 @@ + + + @@ -104,6 +107,7 @@ + @@ -206,6 +210,7 @@ const defaultForm = { person_in_charge: null, email: null, sub_task: null, + job_ip: null, pause_after_failure: true } export default {