자동화된 스케줄링 작업은 시스템 관리, 데이터 백업, 주기적인 보고서 생성 등 다양한 상황에서 매우 유용합니다.
이러한 작업들은 일정한 시간 간격으로 실행되어야 하며, 수동으로 수행하기에는 번거롭고 오류가 발생할 가능성이 높습니다. 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 모듈을 활용하면 손쉽게 이러한 작업들을 자동화할 수 있으며, 오류 처리와 최적화를 통해 안정적인 운영이 가능합니다.
반응형
'개발정리 (nodeJS)' 카테고리의 다른 글
[nodeJS] Node.js에서 대규모 파일 업로드 처리하기 (0) | 2024.06.28 |
---|---|
[nodeJS] Node.js에서 세션 관리 구현하기 (0) | 2024.05.29 |
[nodeJS] Node.js로 페이징네이션 활용하기 (0) | 2024.05.23 |
[nodeJS] Node.js와 redis 연동하기 (0) | 2024.05.07 |
[nodeJS] Node.js로 자연어 처리하기 (0) | 2024.05.03 |