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

master
xuxueli 7 years ago
parent 0872bf024e
commit 5ae12fdb1a
  1. 8
      doc/XXL-JOB官方文档.md
  2. 3
      doc/db/tables_xxl_job.sql
  3. 9
      xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java

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

@ -185,7 +185,8 @@ CREATE TABLE `XXL_JOB_QRTZ_TRIGGER_LOG` (
`handle_time` datetime DEFAULT NULL COMMENT '执行-时间',
`handle_code` int(11) NOT 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;
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.schedule.XxlJobDynamicScheduler;
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.XxlJobInfoDao;
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";
@Override
public ReturnT<Map<String, Object>> chartInfo(Date startDate, Date endDate) {
// get cache
/*// get cache
String cacheKey = TRIGGER_CHART_DATA_CACHE + "_" + startDate.getTime() + "_" + endDate.getTime();
Map<String, Object> chartInfo = (Map<String, Object>) LocalCacheUtil.get(cacheKey);
if (chartInfo != null) {
return new ReturnT<Map<String, Object>>(chartInfo);
}
}*/
// process
List<String> triggerDayList = new ArrayList<String>();
@ -376,8 +375,8 @@ public class XxlJobServiceImpl implements XxlJobService {
result.put("triggerCountSucTotal", triggerCountSucTotal);
result.put("triggerCountFailTotal", triggerCountFailTotal);
// set cache
LocalCacheUtil.set(cacheKey, result, 60*1000); // cache 60s
/*// set cache
LocalCacheUtil.set(cacheKey, result, 60*1000); // cache 60s*/
return new ReturnT<Map<String, Object>>(result);
}

Loading…
Cancel
Save