fix: 定时任务新增指定调度IP
This commit is contained in:
@@ -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<SysQuartzJob> 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("--------------------定时任务注入完成---------------------");
|
||||
}
|
||||
|
||||
|
||||
@@ -124,4 +124,9 @@ public class SysQuartzJob implements Serializable {
|
||||
|
||||
@TableField(exist = false)
|
||||
private String uuid;
|
||||
|
||||
/**
|
||||
* 调度IP
|
||||
*/
|
||||
private String job_ip;
|
||||
}
|
||||
|
||||
@@ -71,6 +71,9 @@
|
||||
<el-form-item label="告警邮箱" prop="email">
|
||||
<el-input v-model="form.email" placeholder="多个邮箱用逗号隔开" style="width: 220px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="调度IP" prop="email">
|
||||
<el-input v-model="form.job_ip" placeholder="执行定时器的ip地址" style="width: 220px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="失败后暂停">
|
||||
<el-radio-group v-model="form.pause_after_failure" style="width: 220px">
|
||||
<el-radio :label="true">是</el-radio>
|
||||
@@ -104,6 +107,7 @@
|
||||
<el-table-column show-overflow-tooltip prop="job_id" label="任务ID" />
|
||||
<el-table-column show-overflow-tooltip prop="job_name" label="任务名称" min-width="120" />
|
||||
<el-table-column show-overflow-tooltip prop="bean_name" label="Bean名称" />
|
||||
<el-table-column show-overflow-tooltip prop="job_ip" label="调度IP" />
|
||||
<el-table-column show-overflow-tooltip prop="method_name" label="执行方法" />
|
||||
<el-table-column show-overflow-tooltip prop="params" label="参数" />
|
||||
<el-table-column
|
||||
@@ -116,8 +120,8 @@
|
||||
<el-table-column show-overflow-tooltip prop="is_pause" width="90px" label="状态">
|
||||
<template slot-scope="scope">
|
||||
<el-tag :type="scope.row.is_pause ? 'warning' : 'success'">{{
|
||||
scope.row.is_pause ? '已暂停' : '运行中'
|
||||
}}
|
||||
scope.row.is_pause ? '已暂停' : '运行中'
|
||||
}}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@@ -206,6 +210,7 @@ const defaultForm = {
|
||||
person_in_charge: null,
|
||||
email: null,
|
||||
sub_task: null,
|
||||
job_ip: null,
|
||||
pause_after_failure: true
|
||||
}
|
||||
export default {
|
||||
|
||||
Reference in New Issue
Block a user