执行器注册表字段优化,解决执行器注册节点过多导致注册信息存储和更新失败的问题;
This commit is contained in:
parent
6daa3716b8
commit
cbcd6e1aed
|
@ -2057,8 +2057,9 @@ data: post-data
|
||||||
- 11、执行器示例项目规范整理;
|
- 11、执行器示例项目规范整理;
|
||||||
- 12、UI组件常规升级,提升组件稳定性;
|
- 12、UI组件常规升级,提升组件稳定性;
|
||||||
- 13、调度中心远程执行日志查询乱码问题修复;
|
- 13、调度中心远程执行日志查询乱码问题修复;
|
||||||
- 14、[规划中]任务触发参数优化:支持选择 "Cron触发"、"固定间隔时间触发"、"指定时间点触发"、"不选择" 等;
|
- 14、执行器注册表字段优化,解决执行器注册节点过多导致注册信息存储和更新失败的问题;
|
||||||
- 15、[规划中]分片任务:全部完成后才会出发后置节点;
|
- 15、[规划中]任务触发参数优化:支持选择 "Cron触发"、"固定间隔时间触发"、"指定时间点触发"、"不选择" 等;
|
||||||
|
- 16、[规划中]分片任务:全部完成后才会出发后置节点;
|
||||||
|
|
||||||
### 7.32 版本 v2.3.0 Release Notes[规划中]
|
### 7.32 版本 v2.3.0 Release Notes[规划中]
|
||||||
- 1、[规划中]DAG流程任务
|
- 1、[规划中]DAG流程任务
|
||||||
|
|
|
@ -60,6 +60,7 @@ CREATE TABLE `xxl_job_log_report` (
|
||||||
`running_count` int(11) NOT NULL DEFAULT '0' COMMENT '运行中-日志数量',
|
`running_count` int(11) NOT NULL DEFAULT '0' COMMENT '运行中-日志数量',
|
||||||
`suc_count` int(11) NOT NULL DEFAULT '0' COMMENT '执行成功-日志数量',
|
`suc_count` int(11) NOT NULL DEFAULT '0' COMMENT '执行成功-日志数量',
|
||||||
`fail_count` int(11) NOT NULL DEFAULT '0' COMMENT '执行失败-日志数量',
|
`fail_count` int(11) NOT NULL DEFAULT '0' COMMENT '执行失败-日志数量',
|
||||||
|
`update_time` datetime DEFAULT NULL,
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
UNIQUE KEY `i_trigger_day` (`trigger_day`) USING BTREE
|
UNIQUE KEY `i_trigger_day` (`trigger_day`) USING BTREE
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||||
|
@ -90,7 +91,8 @@ CREATE TABLE `xxl_job_group` (
|
||||||
`app_name` varchar(64) NOT NULL COMMENT '执行器AppName',
|
`app_name` varchar(64) NOT NULL COMMENT '执行器AppName',
|
||||||
`title` varchar(12) NOT NULL COMMENT '执行器名称',
|
`title` varchar(12) NOT NULL COMMENT '执行器名称',
|
||||||
`address_type` tinyint(4) NOT NULL DEFAULT '0' COMMENT '执行器地址类型:0=自动注册、1=手动录入',
|
`address_type` tinyint(4) NOT NULL DEFAULT '0' COMMENT '执行器地址类型:0=自动注册、1=手动录入',
|
||||||
`address_list` varchar(512) DEFAULT NULL COMMENT '执行器地址列表,多地址逗号分隔',
|
`address_list` text COMMENT '执行器地址列表,多地址逗号分隔',
|
||||||
|
`update_time` datetime DEFAULT NULL,
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
@ -110,7 +112,7 @@ CREATE TABLE `xxl_job_lock` (
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
|
||||||
INSERT INTO `xxl_job_group`(`id`, `app_name`, `title`, `address_type`, `address_list`) VALUES (1, 'xxl-job-executor-sample', '示例执行器', 0, NULL);
|
INSERT INTO `xxl_job_group`(`id`, `app_name`, `title`, `address_type`, `address_list`, `update_time`) VALUES (1, 'xxl-job-executor-sample', '示例执行器', 0, NULL, '2018-11-03 22:21:31' );
|
||||||
INSERT INTO `xxl_job_info`(`id`, `job_group`, `job_cron`, `job_desc`, `add_time`, `update_time`, `author`, `alarm_email`, `executor_route_strategy`, `executor_handler`, `executor_param`, `executor_block_strategy`, `executor_timeout`, `executor_fail_retry_count`, `glue_type`, `glue_source`, `glue_remark`, `glue_updatetime`, `child_jobid`) VALUES (1, 1, '0 0 0 * * ? *', '测试任务1', '2018-11-03 22:21:31', '2018-11-03 22:21:31', 'XXL', '', 'FIRST', 'demoJobHandler', '', 'SERIAL_EXECUTION', 0, 0, 'BEAN', '', 'GLUE代码初始化', '2018-11-03 22:21:31', '');
|
INSERT INTO `xxl_job_info`(`id`, `job_group`, `job_cron`, `job_desc`, `add_time`, `update_time`, `author`, `alarm_email`, `executor_route_strategy`, `executor_handler`, `executor_param`, `executor_block_strategy`, `executor_timeout`, `executor_fail_retry_count`, `glue_type`, `glue_source`, `glue_remark`, `glue_updatetime`, `child_jobid`) VALUES (1, 1, '0 0 0 * * ? *', '测试任务1', '2018-11-03 22:21:31', '2018-11-03 22:21:31', 'XXL', '', 'FIRST', 'demoJobHandler', '', 'SERIAL_EXECUTION', 0, 0, 'BEAN', '', 'GLUE代码初始化', '2018-11-03 22:21:31', '');
|
||||||
INSERT INTO `xxl_job_user`(`id`, `username`, `password`, `role`, `permission`) VALUES (1, 'admin', 'e10adc3949ba59abbe56e057f20f883e', 1, NULL);
|
INSERT INTO `xxl_job_user`(`id`, `username`, `password`, `role`, `permission`) VALUES (1, 'admin', 'e10adc3949ba59abbe56e057f20f883e', 1, NULL);
|
||||||
INSERT INTO `xxl_job_lock` ( `lock_name`) VALUES ( 'schedule_lock');
|
INSERT INTO `xxl_job_lock` ( `lock_name`) VALUES ( 'schedule_lock');
|
||||||
|
|
|
@ -83,6 +83,9 @@ public class JobGroupController {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// process
|
||||||
|
xxlJobGroup.setUpdateTime(new Date());
|
||||||
|
|
||||||
int ret = xxlJobGroupDao.save(xxlJobGroup);
|
int ret = xxlJobGroupDao.save(xxlJobGroup);
|
||||||
return (ret>0)?ReturnT.SUCCESS:ReturnT.FAIL;
|
return (ret>0)?ReturnT.SUCCESS:ReturnT.FAIL;
|
||||||
}
|
}
|
||||||
|
@ -126,6 +129,9 @@ public class JobGroupController {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// process
|
||||||
|
xxlJobGroup.setUpdateTime(new Date());
|
||||||
|
|
||||||
int ret = xxlJobGroupDao.update(xxlJobGroup);
|
int ret = xxlJobGroupDao.update(xxlJobGroup);
|
||||||
return (ret>0)?ReturnT.SUCCESS:ReturnT.FAIL;
|
return (ret>0)?ReturnT.SUCCESS:ReturnT.FAIL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,7 @@ package com.xxl.job.admin.core.model;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -14,6 +15,7 @@ public class XxlJobGroup {
|
||||||
private String title;
|
private String title;
|
||||||
private int addressType; // 执行器地址类型:0=自动注册、1=手动录入
|
private int addressType; // 执行器地址类型:0=自动注册、1=手动录入
|
||||||
private String addressList; // 执行器地址列表,多地址逗号分隔(手动录入)
|
private String addressList; // 执行器地址列表,多地址逗号分隔(手动录入)
|
||||||
|
private Date updateTime;
|
||||||
|
|
||||||
// registry list
|
// registry list
|
||||||
private List<String> registryList; // 执行器地址列表(系统注册)
|
private List<String> registryList; // 执行器地址列表(系统注册)
|
||||||
|
@ -60,6 +62,14 @@ public class XxlJobGroup {
|
||||||
return addressList;
|
return addressList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Date getUpdateTime() {
|
||||||
|
return updateTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUpdateTime(Date updateTime) {
|
||||||
|
this.updateTime = updateTime;
|
||||||
|
}
|
||||||
|
|
||||||
public void setAddressList(String addressList) {
|
public void setAddressList(String addressList) {
|
||||||
this.addressList = addressList;
|
this.addressList = addressList;
|
||||||
}
|
}
|
||||||
|
|
|
@ -74,6 +74,8 @@ public class JobRegistryMonitorHelper {
|
||||||
addressListStr = addressListStr.substring(0, addressListStr.length()-1);
|
addressListStr = addressListStr.substring(0, addressListStr.length()-1);
|
||||||
}
|
}
|
||||||
group.setAddressList(addressListStr);
|
group.setAddressList(addressListStr);
|
||||||
|
group.setUpdateTime(new Date());
|
||||||
|
|
||||||
XxlJobAdminConfig.getAdminConfig().getXxlJobGroupDao().update(group);
|
XxlJobAdminConfig.getAdminConfig().getXxlJobGroupDao().update(group);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
<result column="title" property="title" />
|
<result column="title" property="title" />
|
||||||
<result column="address_type" property="addressType" />
|
<result column="address_type" property="addressType" />
|
||||||
<result column="address_list" property="addressList" />
|
<result column="address_list" property="addressList" />
|
||||||
|
<result column="update_time" property="updateTime" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="Base_Column_List">
|
<sql id="Base_Column_List">
|
||||||
|
@ -16,7 +17,8 @@
|
||||||
t.app_name,
|
t.app_name,
|
||||||
t.title,
|
t.title,
|
||||||
t.address_type,
|
t.address_type,
|
||||||
t.address_list
|
t.address_list,
|
||||||
|
t.update_time
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<select id="findAll" resultMap="XxlJobGroup">
|
<select id="findAll" resultMap="XxlJobGroup">
|
||||||
|
@ -33,8 +35,8 @@
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<insert id="save" parameterType="com.xxl.job.admin.core.model.XxlJobGroup" useGeneratedKeys="true" keyProperty="id" >
|
<insert id="save" parameterType="com.xxl.job.admin.core.model.XxlJobGroup" useGeneratedKeys="true" keyProperty="id" >
|
||||||
INSERT INTO xxl_job_group ( `app_name`, `title`, `address_type`, `address_list`)
|
INSERT INTO xxl_job_group ( `app_name`, `title`, `address_type`, `address_list`, `update_time`)
|
||||||
values ( #{appname}, #{title}, #{addressType}, #{addressList});
|
values ( #{appname}, #{title}, #{addressType}, #{addressList}, #{updateTime} );
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
<update id="update" parameterType="com.xxl.job.admin.core.model.XxlJobGroup" >
|
<update id="update" parameterType="com.xxl.job.admin.core.model.XxlJobGroup" >
|
||||||
|
@ -42,7 +44,8 @@
|
||||||
SET `app_name` = #{appname},
|
SET `app_name` = #{appname},
|
||||||
`title` = #{title},
|
`title` = #{title},
|
||||||
`address_type` = #{addressType},
|
`address_type` = #{addressType},
|
||||||
`address_list` = #{addressList}
|
`address_list` = #{addressList},
|
||||||
|
`update_time` = #{updateTime}
|
||||||
WHERE id = #{id}
|
WHERE id = #{id}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
|
|
@ -98,7 +98,7 @@
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="lastname" class="col-sm-2 control-label">${I18n.jobgroup_field_registryList}<font color="red">*</font></label>
|
<label for="lastname" class="col-sm-2 control-label">${I18n.jobgroup_field_registryList}<font color="red">*</font></label>
|
||||||
<div class="col-sm-10">
|
<div class="col-sm-10">
|
||||||
<textarea class="textarea" name="addressList" maxlength="512" placeholder="${I18n.jobgroup_field_registryList_placeholder}" readonly="readonly" style="background-color:#eee; width: 100%; height: 100px; font-size: 14px; line-height: 15px; border: 1px solid #dddddd; padding: 5px;"></textarea>
|
<textarea class="textarea" name="addressList" maxlength="20000" placeholder="${I18n.jobgroup_field_registryList_placeholder}" readonly="readonly" style="background-color:#eee; width: 100%; height: 100px; font-size: 14px; line-height: 15px; border: 1px solid #dddddd; padding: 5px;"></textarea>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
|
@ -142,7 +142,7 @@
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="lastname" class="col-sm-2 control-label">${I18n.jobgroup_field_registryList}<font color="red">*</font></label>
|
<label for="lastname" class="col-sm-2 control-label">${I18n.jobgroup_field_registryList}<font color="red">*</font></label>
|
||||||
<div class="col-sm-10">
|
<div class="col-sm-10">
|
||||||
<textarea class="textarea" name="addressList" maxlength="512" placeholder="${I18n.jobgroup_field_registryList_placeholder}" readonly="readonly" style="background-color:#eee; width: 100%; height: 100px; font-size: 14px; line-height: 15px; border: 1px solid #dddddd; padding: 5px;"></textarea>
|
<textarea class="textarea" name="addressList" maxlength="20000" placeholder="${I18n.jobgroup_field_registryList_placeholder}" readonly="readonly" style="background-color:#eee; width: 100%; height: 100px; font-size: 14px; line-height: 15px; border: 1px solid #dddddd; padding: 5px;"></textarea>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
|
|
|
@ -7,6 +7,7 @@ import org.springframework.boot.test.context.SpringBootTest;
|
||||||
import org.springframework.test.context.junit4.SpringRunner;
|
import org.springframework.test.context.junit4.SpringRunner;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
|
@ -27,6 +28,7 @@ public class XxlJobGroupDaoTest {
|
||||||
group.setTitle("setTitle");
|
group.setTitle("setTitle");
|
||||||
group.setAddressType(0);
|
group.setAddressType(0);
|
||||||
group.setAddressList("setAddressList");
|
group.setAddressList("setAddressList");
|
||||||
|
group.setUpdateTime(new Date());
|
||||||
|
|
||||||
int ret = xxlJobGroupDao.save(group);
|
int ret = xxlJobGroupDao.save(group);
|
||||||
|
|
||||||
|
@ -35,6 +37,7 @@ public class XxlJobGroupDaoTest {
|
||||||
group2.setTitle("setTitle2");
|
group2.setTitle("setTitle2");
|
||||||
group2.setAddressType(2);
|
group2.setAddressType(2);
|
||||||
group2.setAddressList("setAddressList2");
|
group2.setAddressList("setAddressList2");
|
||||||
|
group2.setUpdateTime(new Date());
|
||||||
|
|
||||||
int ret2 = xxlJobGroupDao.update(group2);
|
int ret2 = xxlJobGroupDao.update(group2);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue