본문 바로가기
개발정리 (nodeJS)

[nodeJS] Node.js에서 스케줄링 작업 자동화하기

by 할리갈리0 2024. 5. 28.

자동화된 스케줄링 작업은 시스템 관리, 데이터 백업, 주기적인 보고서 생성 등 다양한 상황에서 매우 유용합니다.
이러한 작업들은 일정한 시간 간격으로 실행되어야 하며, 수동으로 수행하기에는 번거롭고 오류가 발생할 가능성이 높습니다. Node.js에서는 node-cron 모듈을 사용해 이러한 작업을 쉽게 자동화할 수 있습니다.

 

1. Node-cron 모듈 설치

npm install node-cron

 

2. 기본 스케줄링 작업 설정하기

* * * * *라는 표현식을 사용해 매분마다 작업을 실행하도록 설정
크론 표현식의 각 위치는 분, 시, 일, 월, 요일을 의미

const cron = require('node-cron');

// 매분마다 실행되는 작업
cron.schedule('* * * * *', () => {
    console.log('매분마다 실행되는 작업');
});

 

[크론 표현식 설명]

* * * * * - 매분마다

0 * * * * - 매시간 0분마다

0 0 * * * - 매일 자정마다

0 0 * * 0 - 매주 일요일 자정마다

 

3. 다양한 스케줄링 작업 예제

* 매일 자정에 데이터 백업

cron.schedule('0 0 * * *', () => {
    console.log('데이터 백업 작업 수행');
    // 데이터 백업 로직 추가
});


* 매주 월요일 아침 9시에 보고서 생성

cron.schedule('0 9 * * 1', () => {
    console.log('주간 보고서 생성 작업 수행');
    // 보고서 생성 로직 추가
});


* 매시간 30분마다 로그 파일 정리

cron.schedule('30 * * * *', () => {
    console.log('로그 파일 정리 작업 수행');
    // 로그 파일 정리 로직 추가
});


* 매월 1일 자정에 데이터 동기화

cron.schedule('0 0 1 * *', () => {
    console.log('데이터 동기화 작업 수행');
    // 데이터 동기화 로직 추가
});

 

4. 오류 처리

cron.schedule('* * * * *', () => {
    try {
        console.log('작업 수행');
        // 작업 로직 추가
    } catch (error) {
        console.error('작업 중 오류 발생:', error);
    }
});

 


스케줄링 작업은 데이터 백업, 로그 관리, 보고서 생성 등 다양한 상황에서 유용하게 사용될 수 있습니다. node-cron 모듈을 활용하면 손쉽게 이러한 작업들을 자동화할 수 있으며, 오류 처리와 최적화를 통해 안정적인 운영이 가능합니다.

반응형