MonitorRecRunner.java 1.17 KB
package vion.cron.monitor;

import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import vion.model.monitor.AgentRecord;
import vion.model.monitor.ServiceRecord;
import vion.service.monitor.IAgentRecordService;
import vion.service.monitor.IServiceRecordService;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;

/**
 * 服务器记录、服务记录删除任务
 */
@Component
@RequiredArgsConstructor
@Slf4j
public class MonitorRecRunner {

    private final IAgentRecordService agentRecordService;
    private final IServiceRecordService serviceRecordService;

    @Scheduled(cron = "50 0 0 * * ?")
    public void deleteRecord() {
        log.info("删除服务器记录、服务记录");
        var time = LocalDateTime.of(LocalDate.now().minusDays(30), LocalTime.MIN);
        agentRecordService.lambdaUpdate().lt(AgentRecord::getCreateTime, time).remove();
        serviceRecordService.lambdaUpdate().lt(ServiceRecord::getCreateTime, time).remove();
        log.info("删除服务器记录、服务记录完成");
    }
}