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() +