فهرست منبع

增加schedule job来删除临时文件

TonyKang 7 سال پیش
والد
کامیت
1508fd32e3
2فایلهای تغییر یافته به همراه58 افزوده شده و 2 حذف شده
  1. 29 2
      server.js
  2. 29 0
      test/unit/reports/chk_file_time.js

+ 29 - 2
server.js

@@ -13,7 +13,7 @@ let DBStore = require('connect-mongo')(session);
 let fs = require('fs');
 
 let URL = require('url');
-
+let cron = require('node-schedule');
 
 dbm.connect(process.env.NODE_ENV);
 //这里现在只引入了定额工料机里的models,当其它模块的models修改后使用:./modules/**/models/*.js引入所有的模块
@@ -116,4 +116,31 @@ app.listen(6060, function(){
     console.log('server started!');
 });
 
-
+//设置schedule job
+let rule = new cron.RecurrenceRule();
+//1. 每天凌晨3点一刻,删除临时文件
+rule.dayOfWeek = [1,2,3,4,5,6,0];
+rule.hour = 3;
+rule.minute = 15;
+cron.scheduleJob(rule, function(){
+    let path = __dirname + "/tmp";
+    fs.exists(path, function (exists) {
+        if (exists) {
+            fs.readdir(path, function (err, files) {
+                let currentTime = (new Date()).valueOf();
+                let timeGap = currentTime - (1000 * 60 * 60 * 24 * 0.5);
+                files.forEach(function(file,index){
+                    if (file.indexOf(".xlsx") === (file.length - 5) ||
+                        file.indexOf(".pdf") === (file.length - 4)) {
+                        let curPath = path + "/" + file;
+                        fs.stat(curPath,function(err,data){
+                            if (timeGap > data.mtime) {
+                                fs.unlink(curPath);
+                            }
+                        });
+                    }
+                });
+            })
+        }
+    })
+});

+ 29 - 0
test/unit/reports/chk_file_time.js

@@ -0,0 +1,29 @@
+/**
+ * Created by Tony on 2018/7/25.
+ */
+
+let fs = require('fs');
+
+// let files = [];
+let path = "D:/GitHome/ConstructionCost/tmp";
+fs.exists(path, function (exists) {
+    if (exists) {
+        fs.readdir(path, function (err, files) {
+            let currentTime = (new Date()).valueOf();
+            let timeGap = currentTime - (1000 * 60 * 60 * 24 * 0.5);
+            files.forEach(function(file,index){
+                if (file.indexOf(".xlsx") === (file.length - 5) ||
+                    file.indexOf(".pdf") === (file.length - 4)) {
+                    let curPath = path + "/" + file;
+                    fs.stat(curPath,function(err,data){
+                        //修改时间
+                        if (timeGap > data.mtime) {
+                            console.log(curPath + " will be deleted!");
+                            // fs.unlink(curPath);
+                        }
+                    });
+                }
+            });
+        })
+    }
+})