From 08654b52dac8f7935bb7e7d2b79e3ac47cc97d3b Mon Sep 17 00:00:00 2001 From: lihongjie0209 Date: Sat, 28 Sep 2024 14:14:52 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=88=A0=E9=99=A4=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=87=87=E9=9B=86=E5=99=A8=E7=9A=84=E5=AE=9A=E6=97=B6?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/DataCollectorLogService.java | 20 +++++++++++++++++++ .../cronJob/clearDataCollectorLog.groovy | 9 +++++++++ 2 files changed, 29 insertions(+) create mode 100644 src/main/resources/scripts/cronJob/clearDataCollectorLog.groovy diff --git a/src/main/java/cn/lihongjie/coal/dataCollectorLog/service/DataCollectorLogService.java b/src/main/java/cn/lihongjie/coal/dataCollectorLog/service/DataCollectorLogService.java index be52764b..f929d496 100644 --- a/src/main/java/cn/lihongjie/coal/dataCollectorLog/service/DataCollectorLogService.java +++ b/src/main/java/cn/lihongjie/coal/dataCollectorLog/service/DataCollectorLogService.java @@ -15,6 +15,9 @@ import cn.lihongjie.coal.dataCollectorLog.mapper.DataCollectorLogMapper; import cn.lihongjie.coal.dataCollectorLog.repository.DataCollectorLogRepository; import cn.lihongjie.coal.dbFunctions.DbFunctionService; +import jakarta.persistence.EntityManager; +import jakarta.persistence.PersistenceContext; + import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; @@ -75,5 +78,22 @@ public class DataCollectorLogService Sort.by(CollectionUtils.isEmpty(query.getOrders()) ? singletonList(asc("createTime")) : query.getOrders()))); return page.map(this.mapper::toDto); + } + + @PersistenceContext EntityManager em; + + public void deleteHisLog(){ + + + // 只保留最近3个月的日志 + + int cnt = em.createNativeQuery("delete from t_data_collector_log where create_time < now() - interval '3 month'").executeUpdate(); + + log.info("delete {} data collector his log", cnt); + + + + + } } diff --git a/src/main/resources/scripts/cronJob/clearDataCollectorLog.groovy b/src/main/resources/scripts/cronJob/clearDataCollectorLog.groovy new file mode 100644 index 00000000..55d9fd97 --- /dev/null +++ b/src/main/resources/scripts/cronJob/clearDataCollectorLog.groovy @@ -0,0 +1,9 @@ +import cn.lihongjie.coal.dataCollectorLog.service.DataCollectorLogService +import org.springframework.context.ApplicationContext + +ApplicationContext ioc = ioc + +def service = ioc.getBean(DataCollectorLogService.class) + +service.deleteHisLog() +