티스토리 뷰

Etc.

Express의 Cron Job

skim88 2024. 11. 5. 09:00
반응형

Cron Job
Cron Job

최근 실무에서 Batch 처럼 스케줄링 작업을 수정하는 일이 생겼다. Spring Batch는 경험이 있지만, 현 환경은 Express를 사용하는 백엔드 환경으로 Cron을 사용하고 있어 Cron의 특징을 이번 기회에 정리해보려고 한다.


Cron이란

Node.js에서 주기적인 작업을 실행하기 위한 모듈 중 하나로 Unix 및 Unix 계열 시스템에서 주기적인 작업을 예약하기 위해 사용되는 시스템 작업 스케줄러의 이름이다. Node.js의 cron 모듈은 이러한 스케줄된 작업을 JavaScript 코드로 구현할 수 있게 해준다.

예시

const cron = require('cron');
  // CronJob 객체 생성
  const job = new cron.CronJob('*/1 * * * *', function() {
  console.log('매 분마다 실행되는 작업');
});

// CronJob 시작
job.start();

위의 코드에서 `*/1 * * * *`는 cron 표현식으로, 매 분마다 실행됨을 나타낸다. 이 표현식은 아래와 같이 구성된다.

  • */1: 각 분을 나타냄.
  • *: 모든 시간을 나타.
  • 나머지 *들은 각각 일, 월, 요일을 나타냄.

cron 작업을 정지하려면 `job.stop()`을 호출하면 된다.

스케줄된 작업을 실행한다는 부분에서 Spring Batch와 큰 차이점은 없었고 좀 더 간단하게 스케줄 작업을 만들 수 있다는 느낌을 받았다.

 

반응형
Total
Today
Yesterday
반응형