任务日志查询速度优化,百万级别日志量搜索速度提升1000倍;

pull/MERGE
xuxueli 6 years ago
parent 0872bf024e
commit 5ae12fdb1a

@ -1194,6 +1194,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
- 6、Glue(Shell) 等脚本任务支持失败重试; - 6、Glue(Shell) 等脚本任务支持失败重试;
- 7、告警邮箱支持SSL配置 - 7、告警邮箱支持SSL配置
- 8、Window机器下File.separator不兼容问题修复 - 8、Window机器下File.separator不兼容问题修复
- 9、任务日志查询速度优化百万级别日志量搜索速度提升1000倍
### TODO LIST ### TODO LIST
@ -1218,10 +1219,9 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
- 19、提供多版本执行器不依赖容器版本、不内嵌Jetty版本通过配置executoraddress替换jetty通讯 - 19、提供多版本执行器不依赖容器版本、不内嵌Jetty版本通过配置executoraddress替换jetty通讯
- 20、注册中心支持扩展除默认基于DB之外支持扩展接入第三方注册中心如zk、eureka等 - 20、注册中心支持扩展除默认基于DB之外支持扩展接入第三方注册中心如zk、eureka等
- 21、依赖Core内部国际化处理 - 21、依赖Core内部国际化处理
- 22、大数据量下任务日志分页优化时间选择组件支持清空功能可提升速度 - 22、故障转移、失败重试等策略规范化合并归类
- 23、故障转移、失败重试等策略规范化合并归类 - 23、流程任务支持参数传递
- 24、流程任务支持参数传递 - 24、SimpleTrigger 支持;
- 25、SimpleTrigger 支持;
## 七、其他 ## 七、其他

@ -185,7 +185,8 @@ CREATE TABLE `XXL_JOB_QRTZ_TRIGGER_LOG` (
`handle_time` datetime DEFAULT NULL COMMENT '执行-时间', `handle_time` datetime DEFAULT NULL COMMENT '执行-时间',
`handle_code` int(11) NOT NULL COMMENT '执行-状态', `handle_code` int(11) NOT NULL COMMENT '执行-状态',
`handle_msg` varchar(2048) DEFAULT NULL COMMENT '执行-日志', `handle_msg` varchar(2048) DEFAULT NULL COMMENT '执行-日志',
PRIMARY KEY (`id`) PRIMARY KEY (`id`),
KEY `I_trigger_time` (`trigger_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8; ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `XXL_JOB_QRTZ_TRIGGER_LOGGLUE` ( CREATE TABLE `XXL_JOB_QRTZ_TRIGGER_LOGGLUE` (

@ -6,7 +6,6 @@ import com.xxl.job.admin.core.model.XxlJobInfo;
import com.xxl.job.admin.core.route.ExecutorRouteStrategyEnum; import com.xxl.job.admin.core.route.ExecutorRouteStrategyEnum;
import com.xxl.job.admin.core.schedule.XxlJobDynamicScheduler; import com.xxl.job.admin.core.schedule.XxlJobDynamicScheduler;
import com.xxl.job.admin.core.util.I18nUtil; import com.xxl.job.admin.core.util.I18nUtil;
import com.xxl.job.admin.core.util.LocalCacheUtil;
import com.xxl.job.admin.dao.XxlJobGroupDao; import com.xxl.job.admin.dao.XxlJobGroupDao;
import com.xxl.job.admin.dao.XxlJobInfoDao; import com.xxl.job.admin.dao.XxlJobInfoDao;
import com.xxl.job.admin.dao.XxlJobLogDao; import com.xxl.job.admin.dao.XxlJobLogDao;
@ -324,12 +323,12 @@ public class XxlJobServiceImpl implements XxlJobService {
private static final String TRIGGER_CHART_DATA_CACHE = "trigger_chart_data_cache"; private static final String TRIGGER_CHART_DATA_CACHE = "trigger_chart_data_cache";
@Override @Override
public ReturnT<Map<String, Object>> chartInfo(Date startDate, Date endDate) { public ReturnT<Map<String, Object>> chartInfo(Date startDate, Date endDate) {
// get cache /*// get cache
String cacheKey = TRIGGER_CHART_DATA_CACHE + "_" + startDate.getTime() + "_" + endDate.getTime(); String cacheKey = TRIGGER_CHART_DATA_CACHE + "_" + startDate.getTime() + "_" + endDate.getTime();
Map<String, Object> chartInfo = (Map<String, Object>) LocalCacheUtil.get(cacheKey); Map<String, Object> chartInfo = (Map<String, Object>) LocalCacheUtil.get(cacheKey);
if (chartInfo != null) { if (chartInfo != null) {
return new ReturnT<Map<String, Object>>(chartInfo); return new ReturnT<Map<String, Object>>(chartInfo);
} }*/
// process // process
List<String> triggerDayList = new ArrayList<String>(); List<String> triggerDayList = new ArrayList<String>();
@ -376,8 +375,8 @@ public class XxlJobServiceImpl implements XxlJobService {
result.put("triggerCountSucTotal", triggerCountSucTotal); result.put("triggerCountSucTotal", triggerCountSucTotal);
result.put("triggerCountFailTotal", triggerCountFailTotal); result.put("triggerCountFailTotal", triggerCountFailTotal);
// set cache /*// set cache
LocalCacheUtil.set(cacheKey, result, 60*1000); // cache 60s LocalCacheUtil.set(cacheKey, result, 60*1000); // cache 60s*/
return new ReturnT<Map<String, Object>>(result); return new ReturnT<Map<String, Object>>(result);
} }

Loading…
Cancel
Save