feat(monitor): 增加table_version表和compaction_metrics表的定时清理
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
package com.lanyuanxiaoyao.service.info.controller;
|
||||
|
||||
import com.lanyuanxiaoyao.service.info.service.CleanService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* Version
|
||||
*
|
||||
* @author lanyuanxiaoyao
|
||||
* @date 2024-01-03
|
||||
*/
|
||||
@SuppressWarnings("SpringJavaInjectionPointsAutowiringInspection")
|
||||
@RestController
|
||||
@RequestMapping("/info")
|
||||
public class CleanController {
|
||||
private static final Logger logger = LoggerFactory.getLogger(CleanController.class);
|
||||
|
||||
private final CleanService cleanService;
|
||||
|
||||
public CleanController(CleanService cleanService) {
|
||||
this.cleanService = cleanService;
|
||||
}
|
||||
|
||||
@GetMapping("/clean_compaction_metrics")
|
||||
public Integer cleanCompactionMetrics() {
|
||||
return cleanService.cleanCompactionMetrics();
|
||||
}
|
||||
|
||||
@GetMapping("/clean_table_version")
|
||||
public Integer cleanTableVersion() {
|
||||
return cleanService.cleanTableVersion();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
package com.lanyuanxiaoyao.service.info.service;
|
||||
|
||||
import club.kingon.sql.builder.SqlBuilder;
|
||||
import club.kingon.sql.builder.entry.Column;
|
||||
import com.lanyuanxiaoyao.service.common.SQLConstants.HudiCollectBuild.TbAppCollectTableVersion;
|
||||
import com.lanyuanxiaoyao.service.common.SQLConstants.HudiCollectBuild.TbAppHudiCompactionMetrics;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.jdbc.core.JdbcTemplate;
|
||||
|
||||
/**
|
||||
* 清理数据库
|
||||
*
|
||||
* @author lanyuanxiaoyao
|
||||
* @date 2024-05-23
|
||||
*/
|
||||
public class CleanService extends BaseService {
|
||||
private static final Logger logger = LoggerFactory.getLogger(CleanService.class);
|
||||
private static final Column before7Days = Column.as("DATE_SUB(CURDATE(), INTERVAL 7 DAY)");
|
||||
private static final Column before14Days = Column.as("DATE_SUB(CURDATE(), INTERVAL 14 DAY)");
|
||||
|
||||
private final JdbcTemplate mysqlJdbcTemplate;
|
||||
|
||||
public CleanService(JdbcTemplate mysqlJdbcTemplate) {
|
||||
this.mysqlJdbcTemplate = mysqlJdbcTemplate;
|
||||
}
|
||||
|
||||
public Integer cleanCompactionMetrics() {
|
||||
return mysqlJdbcTemplate.update(
|
||||
SqlBuilder.delete(TbAppHudiCompactionMetrics._origin_)
|
||||
.whereLe(TbAppHudiCompactionMetrics.UPDATE_TIME_O, before7Days)
|
||||
.build()
|
||||
);
|
||||
}
|
||||
|
||||
public Integer cleanTableVersion() {
|
||||
return mysqlJdbcTemplate.update(
|
||||
SqlBuilder.delete(TbAppCollectTableVersion._origin_)
|
||||
.whereLe(TbAppCollectTableVersion.UPDATE_TIME_O, before14Days)
|
||||
.build()
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user