본문 바로가기
Nodejs

[Nodejs] node-cron 사용해서 설정한 주기 마다 작업 실행하기

by teamnova 2023. 12. 28.

안녕하세요. 오늘은 nodejs의 node-cron을 통해 설정한 주기마다 로그를 찍게끔 코드를 작성해보겠습니다.

하루에 한번 혹은 1시간에 한번식 실행해야 되는 작업이 있으면 사용하기 좋습니다.

 

코드에 대한 설명은 주석을 통해 남겼습니다.

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

// 설정한 시간 마다 실행할 함수
const scheduledTask = () => {
    // 5초마다 실행하는지 체크 하기위해서 시간을 찍어보겠습니다.
  console.log('Scheduled task is running at:', new Date().toLocaleTimeString());
};

// cron 표현식을 사용하여 작업을 스케줄링합니다.
// 아래는 5초마다 실행되게 작성하였습니다. 만약 5분마다 실행하고 싶으시면 '*/5 * * * *'로 수정해보세요.
cron.schedule('*/5 * * * * *', scheduledTask); 

console.log('cron 실행');

// 아래 코드는 프로그램이 종료되지 않도록 유지합니다.
// cron 작업이 계속 실행되도록 합니다.
process.stdin.resume();

// 컨트롤 + c와 같은 종료 명령어를 입력시 실행됨.
process.on('SIGINT', () => {
  console.log('Received SIGINT. Stopping cron job.');
  process.exit();
});

결과

위 사진은 작업한 결과입니다. 감사합니다.