Prechádzať zdrojové kódy

优化日志获取-发现长时间获取会触发100CPU,本次优化尝试解决该问题

hl 1 týždeň pred
rodič
commit
2b974247ff
1 zmenil súbory, kde vykonal 6 pridanie a 5 odobranie
  1. 6 5
      src/utils/file.js

+ 6 - 5
src/utils/file.js

@@ -162,6 +162,7 @@ async function readLastNLines(dirPath, filePathList, n) {
 async function getRecentLogs(dirPath, logFiles, requiredLogs = 100) {
     let logs = [];
 
+    let logsSize = requiredLogs
     for (const file of logFiles) {
         let log = [];
         // 创建文件流
@@ -174,15 +175,15 @@ async function getRecentLogs(dirPath, logFiles, requiredLogs = 100) {
         });
 
         for await (const line of rl) {
-            // logs.push(line);
             log.push(line);
-            // 如果已读取到必要的日志条数,则停止
-            if ((logs.length + log.length) >= requiredLogs) {
-                // return logs.slice(0, requiredLogs);
+        }
+
+        for  (const l of log.reverse()) {
+            logs.push(l);
+            if (logs.length >= requiredLogs) {
                 break
             }
         }
-        logs.push(...log.reverse());
     }
 
     return logs; // 如果日志不够500条,返回现有日志