疯狂的狮子Li
2022-05-22 7e626ea2193d39217fa7321a865bfab014c5ea69
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobLogReportHelper.java
@@ -20,14 +20,16 @@
    private static Logger logger = LoggerFactory.getLogger(JobLogReportHelper.class);
    private static JobLogReportHelper instance = new JobLogReportHelper();
    public static JobLogReportHelper getInstance(){
    public static JobLogReportHelper getInstance() {
        return instance;
    }
    private Thread logrThread;
    private volatile boolean toStop = false;
    public void start(){
    public void start() {
        logrThread = new Thread(new Runnable() {
            @Override
@@ -69,10 +71,10 @@
                            xxlJobLogReport.setFailCount(0);
                            Map<String, Object> triggerCountMap = XxlJobAdminConfig.getAdminConfig().getXxlJobLogDao().findLogReport(todayFrom, todayTo);
                            if (triggerCountMap!=null && triggerCountMap.size()>0) {
                                int triggerDayCount = triggerCountMap.containsKey("triggerDayCount")?Integer.valueOf(String.valueOf(triggerCountMap.get("triggerDayCount"))):0;
                                int triggerDayCountRunning = triggerCountMap.containsKey("triggerDayCountRunning")?Integer.valueOf(String.valueOf(triggerCountMap.get("triggerDayCountRunning"))):0;
                                int triggerDayCountSuc = triggerCountMap.containsKey("triggerDayCountSuc")?Integer.valueOf(String.valueOf(triggerCountMap.get("triggerDayCountSuc"))):0;
                            if (triggerCountMap != null && triggerCountMap.size() > 0) {
                                int triggerDayCount = triggerCountMap.containsKey("triggerDayCount") ? Integer.valueOf(String.valueOf(triggerCountMap.get("triggerDayCount"))) : 0;
                                int triggerDayCountRunning = triggerCountMap.containsKey("triggerDayCountRunning") ? Integer.valueOf(String.valueOf(triggerCountMap.get("triggerDayCountRunning"))) : 0;
                                int triggerDayCountSuc = triggerCountMap.containsKey("triggerDayCountSuc") ? Integer.valueOf(String.valueOf(triggerCountMap.get("triggerDayCountSuc"))) : 0;
                                int triggerDayCountFail = triggerDayCount - triggerDayCountRunning - triggerDayCountSuc;
                                xxlJobLogReport.setRunningCount(triggerDayCountRunning);
@@ -94,8 +96,8 @@
                    }
                    // 2、log-clean: switch open & once each day
                    if (XxlJobAdminConfig.getAdminConfig().getLogretentiondays()>0
                            && System.currentTimeMillis() - lastCleanLogTime > 24*60*60*1000) {
                    if (XxlJobAdminConfig.getAdminConfig().getLogretentiondays() > 0
                        && System.currentTimeMillis() - lastCleanLogTime > 24 * 60 * 60 * 1000) {
                        // expire-time
                        Calendar expiredDay = Calendar.getInstance();
@@ -110,10 +112,10 @@
                        List<Long> logIds = null;
                        do {
                            logIds = XxlJobAdminConfig.getAdminConfig().getXxlJobLogDao().findClearLogIds(0, 0, clearBeforeTime, 0, 1000);
                            if (logIds!=null && logIds.size()>0) {
                            if (logIds != null && logIds.size() > 0) {
                                XxlJobAdminConfig.getAdminConfig().getXxlJobLogDao().clearLog(logIds);
                            }
                        } while (logIds!=null && logIds.size()>0);
                        } while (logIds != null && logIds.size() > 0);
                        // update clean time
                        lastCleanLogTime = System.currentTimeMillis();
@@ -138,7 +140,7 @@
        logrThread.start();
    }
    public void toStop(){
    public void toStop() {
        toStop = true;
        // interrupt and wait
        logrThread.interrupt();