컴퓨터/NodeJS

Nodejs schedule

sayyesdoit 2023. 12. 12. 04:32
설치
npm install node-schedule
사용

utils/tmps_cleaner.js

const schedule = require('node-schedule');
const fs = require('fs');
const path = require('path');

const folder_path = './tmps';

function clearTempFolder(directory) {
  const timeThreshold = new Date().getTime() - 5 * 60 * 1000; // 여기에서는 5분 이전의 파일만 삭제합니다.

  fs.readdir(directory, (err, files) => {
    if (err) throw err;

    for (const file of files) {
      const filePath = path.join(directory, file);

      fs.stat(filePath, (err, stats) => {
        if (err) throw err;

        if (stats.birthtime.getTime() < timeThreshold) {
          fs.unlink(filePath, err => {
            if (err) throw err;
          });
        }
      });
    }
  });
}

module.exports = function fileCleanerMiddleware() {
  schedule.scheduleJob('0 0 * * *', function() {
    clearTempFolder(folder_path);
  });
};

main.js

const tmps_cleaner = require('./utils/tmps_cleaner');

tmps_cleaner();